Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
3bdcfdb
initial commit
Kitsai Nov 11, 2025
f27a8ff
user login feature
Kitsai Nov 11, 2025
424514c
create template bdd
Kitsai Nov 13, 2025
530bdb0
user password registration
Kitsai Nov 13, 2025
8a0ea78
user password regstration do not register again
Kitsai Nov 13, 2025
3946750
create form bdd
Kitsai Nov 13, 2025
e9b7369
Criação de BDD de visualização de forms para dmin
gabie762 Nov 16, 2025
32dc34b
Update visualize_forms.feature
gabie762 Nov 16, 2025
cd74d05
Adiciona BDD de visualização de templates para admin
gabie762 Nov 16, 2025
198778b
Adiciona BDD de edição e deletar templates para admin
gabie762 Nov 16, 2025
f73c619
Adiciona BDD de requisito bônus: criação de formulário para docentes ou
gabie762 Nov 16, 2025
601590a
create generate report feature bdd
Marcolino5 Nov 16, 2025
5b56d4e
create import data feature bdd
Marcolino5 Nov 16, 2025
12260ca
added sad paths to generate report
Marcolino5 Nov 16, 2025
9659356
create register user feature bdd
Marcolino5 Nov 16, 2025
0847b54
create answer/submit form feature bdd
Marcolino5 Nov 16, 2025
70e1c73
Cria BDD para historias de usuários
Vanterson1 Nov 16, 2025
a0eeb0b
read_me
Kitsai Nov 17, 2025
cc16e34
read me finished
Kitsai Nov 17, 2025
f66f1d8
user model creation
Kitsai Nov 24, 2025
64c6faf
Courses model
Kitsai Nov 24, 2025
0da9c4e
admin specialization
Kitsai Nov 24, 2025
5c9d230
question set model
Kitsai Nov 24, 2025
6788285
template model
Kitsai Nov 24, 2025
ffb8c6c
form model
Kitsai Nov 24, 2025
4e06096
form request model
Kitsai Nov 24, 2025
e990518
answer model
Kitsai Nov 24, 2025
9bddd80
question set validations
Kitsai Nov 24, 2025
436b13c
feat/User login
Kitsai Nov 27, 2025
1c4e664
login page style
Kitsai Nov 27, 2025
839fd9e
feat/auth
Kitsai Nov 27, 2025
d98b2ff
authorization
Kitsai Nov 27, 2025
ca20793
feat: password setup
Kitsai Dec 2, 2025
fe8fc49
tests
Kitsai Dec 2, 2025
835dabf
visualize tests
Kitsai Dec 2, 2025
7eca653
controller
Kitsai Dec 2, 2025
25d2582
navigation partial
Kitsai Dec 2, 2025
a89fed0
Template view page
Kitsai Dec 2, 2025
854cd0b
create modal
Kitsai Dec 3, 2025
68f2b32
Radio questions
Kitsai Dec 3, 2025
090bbf4
refactors for rubocop
Kitsai Dec 3, 2025
280b16d
better test coverage
Kitsai Dec 3, 2025
2bf1eb9
import data initial steps definition
Marcolino5 Dec 5, 2025
e2855c1
initiating import data tests
Marcolino5 Dec 5, 2025
e2b8f27
edit and delete steps
Kitsai Dec 5, 2025
d239f37
steps fixed
Kitsai Dec 5, 2025
28f3c5b
adiciona testes BDD e unitarios para visualize_forms
gabie762 Dec 6, 2025
7310820
feat: criação e redirecionamento para paginas de avaliacoes
gabie762 Dec 6, 2025
1169de5
fix/vizualicacao agora usa trelacao correta
gabie762 Dec 6, 2025
5074928
Tests para responder formulário
gabie762 Dec 6, 2025
f5fd203
Funcionalidade de responder formulários
gabie762 Dec 6, 2025
4f16be2
feat: Implement admin visualize forms feature
gabie762 Dec 7, 2025
bc57f33
feat: Enhance form access verification for admins and regular users
gabie762 Dec 7, 2025
37726ed
Remove step definitions for admin visualize forms feature
gabie762 Dec 7, 2025
bdfbfd5
feat: Update gerenciamento de forms e view de resultados, ajusta rota…
gabie762 Dec 7, 2025
3699755
Refactor form paths and update step definitions
gabie762 Dec 7, 2025
87811ad
Add CSV export feature for class performance and remove old manage cl…
gabie762 Dec 7, 2025
41cfca5
Update coverage timestamps in resultset and index files
gabie762 Dec 7, 2025
fbf41b6
feat: Update login redirection for regular users to avaliacoes path
gabie762 Dec 7, 2025
1235dba
changes to config
Marcolino5 Dec 8, 2025
ebdd86f
added gerenciamento to app
Marcolino5 Dec 8, 2025
8ee8bfd
added create form steps
Marcolino5 Dec 8, 2025
e9ab8eb
added form creation unity tests
Marcolino5 Dec 8, 2025
5ddcad0
fixed view forms bdd
Kitsai Dec 8, 2025
334b685
fix: correct redirect
Kitsai Dec 9, 2025
eb1ae02
cleanup of markdown files
Kitsai Dec 9, 2025
5fb5621
Merge pull request #18 from Kitsai/create-form
Kitsai Dec 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions CAMAAR/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# See https://docs.docker.com/engine/reference/builder/#dockerignore-file for more about ignoring files.

# Ignore git directory.
/.git/
/.gitignore

# Ignore bundler config.
/.bundle

# Ignore all environment files.
/.env*

# Ignore all default key files.
/config/master.key
/config/credentials/*.key

# Ignore all logfiles and tempfiles.
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep

# Ignore pidfiles, but keep the directory.
/tmp/pids/*
!/tmp/pids/.keep

# Ignore storage (uploaded files in development and any SQLite databases).
/storage/*
!/storage/.keep
/tmp/storage/*
!/tmp/storage/.keep

# Ignore assets.
/node_modules/
/app/assets/builds/*
!/app/assets/builds/.keep
/public/assets

# Ignore CI service files.
/.github

# Ignore Kamal files.
/config/deploy*.yml
/.kamal

# Ignore development files
/.devcontainer

# Ignore Docker-related files
/.dockerignore
/Dockerfile*
9 changes: 9 additions & 0 deletions CAMAAR/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# See https://git-scm.com/docs/gitattributes for more about git attribute files.

# Mark the database schema as having been generated.
db/schema.rb linguist-generated

# Mark any vendored files as having been vendored.
vendor/* linguist-vendored
config/credentials/*.yml.enc diff=rails_credentials
config/credentials.yml.enc diff=rails_credentials
12 changes: 12 additions & 0 deletions CAMAAR/.github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: bundler
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 10
124 changes: 124 additions & 0 deletions CAMAAR/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: CI

on:
pull_request:
push:
branches: [ main ]

jobs:
scan_ruby:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Scan for common Rails security vulnerabilities using static analysis
run: bin/brakeman --no-pager

- name: Scan for known security vulnerabilities in gems used
run: bin/bundler-audit

scan_js:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Scan for security vulnerabilities in JavaScript dependencies
run: bin/importmap audit

lint:
runs-on: ubuntu-latest
env:
RUBOCOP_CACHE_ROOT: tmp/rubocop
steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Prepare RuboCop cache
uses: actions/cache@v4
env:
DEPENDENCIES_HASH: ${{ hashFiles('.ruby-version', '**/.rubocop.yml', '**/.rubocop_todo.yml', 'Gemfile.lock') }}
with:
path: ${{ env.RUBOCOP_CACHE_ROOT }}
key: rubocop-${{ runner.os }}-${{ env.DEPENDENCIES_HASH }}-${{ github.ref_name == github.event.repository.default_branch && github.run_id || 'default' }}
restore-keys: |
rubocop-${{ runner.os }}-${{ env.DEPENDENCIES_HASH }}-

- name: Lint code for consistent style
run: bin/rubocop -f github

test:
runs-on: ubuntu-latest

# services:
# redis:
# image: valkey/valkey:8
# ports:
# - 6379:6379
# options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Run tests
env:
RAILS_ENV: test
# RAILS_MASTER_KEY: ${{ secrets.RAILS_MASTER_KEY }}
# REDIS_URL: redis://localhost:6379/0
run: bin/rails db:test:prepare test

system-test:
runs-on: ubuntu-latest

# services:
# redis:
# image: valkey/valkey:8
# ports:
# - 6379:6379
# options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Run System Tests
env:
RAILS_ENV: test
# RAILS_MASTER_KEY: ${{ secrets.RAILS_MASTER_KEY }}
# REDIS_URL: redis://localhost:6379/0
run: bin/rails db:test:prepare test:system

- name: Keep screenshots from failed system tests
uses: actions/upload-artifact@v4
if: failure()
with:
name: screenshots
path: ${{ github.workspace }}/tmp/screenshots
if-no-files-found: ignore
35 changes: 35 additions & 0 deletions CAMAAR/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
#
# Temporary files generated by your text editor or operating system
# belong in git's global ignore instead:
# `$XDG_CONFIG_HOME/git/ignore` or `~/.config/git/ignore`

# Ignore bundler config.
/.bundle

# Ignore all environment files.
/.env*

# Ignore all logfiles and tempfiles.
/log/*
/tmp/*
!/log/.keep
!/tmp/.keep

# Ignore pidfiles, but keep the directory.
/tmp/pids/*
!/tmp/pids/
!/tmp/pids/.keep

# Ignore storage (uploaded files in development and any SQLite databases).
/storage/*
!/storage/.keep
/tmp/storage/*
!/tmp/storage/
!/tmp/storage/.keep

/public/assets

# Ignore key files for decrypting credentials and more.
/config/*.key

3 changes: 3 additions & 0 deletions CAMAAR/.kamal/hooks/docker-setup.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

echo "Docker set up on $KAMAL_HOSTS..."
3 changes: 3 additions & 0 deletions CAMAAR/.kamal/hooks/post-app-boot.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

echo "Booted app version $KAMAL_VERSION on $KAMAL_HOSTS..."
14 changes: 14 additions & 0 deletions CAMAAR/.kamal/hooks/post-deploy.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/sh

# A sample post-deploy hook
#
# These environment variables are available:
# KAMAL_RECORDED_AT
# KAMAL_PERFORMER
# KAMAL_VERSION
# KAMAL_HOSTS
# KAMAL_ROLES (if set)
# KAMAL_DESTINATION (if set)
# KAMAL_RUNTIME

echo "$KAMAL_PERFORMER deployed $KAMAL_VERSION to $KAMAL_DESTINATION in $KAMAL_RUNTIME seconds"
3 changes: 3 additions & 0 deletions CAMAAR/.kamal/hooks/post-proxy-reboot.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

echo "Rebooted kamal-proxy on $KAMAL_HOSTS"
3 changes: 3 additions & 0 deletions CAMAAR/.kamal/hooks/pre-app-boot.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

echo "Booting app version $KAMAL_VERSION on $KAMAL_HOSTS..."
51 changes: 51 additions & 0 deletions CAMAAR/.kamal/hooks/pre-build.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/sh

# A sample pre-build hook
#
# Checks:
# 1. We have a clean checkout
# 2. A remote is configured
# 3. The branch has been pushed to the remote
# 4. The version we are deploying matches the remote
#
# These environment variables are available:
# KAMAL_RECORDED_AT
# KAMAL_PERFORMER
# KAMAL_VERSION
# KAMAL_HOSTS
# KAMAL_ROLES (if set)
# KAMAL_DESTINATION (if set)

if [ -n "$(git status --porcelain)" ]; then
echo "Git checkout is not clean, aborting..." >&2
git status --porcelain >&2
exit 1
fi

first_remote=$(git remote)

if [ -z "$first_remote" ]; then
echo "No git remote set, aborting..." >&2
exit 1
fi

current_branch=$(git branch --show-current)

if [ -z "$current_branch" ]; then
echo "Not on a git branch, aborting..." >&2
exit 1
fi

remote_head=$(git ls-remote $first_remote --tags $current_branch | cut -f1)

if [ -z "$remote_head" ]; then
echo "Branch not pushed to remote, aborting..." >&2
exit 1
fi

if [ "$KAMAL_VERSION" != "$remote_head" ]; then
echo "Version ($KAMAL_VERSION) does not match remote HEAD ($remote_head), aborting..." >&2
exit 1
fi

exit 0
47 changes: 47 additions & 0 deletions CAMAAR/.kamal/hooks/pre-connect.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/usr/bin/env ruby

# A sample pre-connect check
#
# Warms DNS before connecting to hosts in parallel
#
# These environment variables are available:
# KAMAL_RECORDED_AT
# KAMAL_PERFORMER
# KAMAL_VERSION
# KAMAL_HOSTS
# KAMAL_ROLES (if set)
# KAMAL_DESTINATION (if set)
# KAMAL_RUNTIME

hosts = ENV["KAMAL_HOSTS"].split(",")
results = nil
max = 3

elapsed = Benchmark.realtime do
results = hosts.map do |host|
Thread.new do
tries = 1

begin
Socket.getaddrinfo(host, 0, Socket::AF_UNSPEC, Socket::SOCK_STREAM, nil, Socket::AI_CANONNAME)
rescue SocketError
if tries < max
puts "Retrying DNS warmup: #{host}"
tries += 1
sleep rand
retry
else
puts "DNS warmup failed: #{host}"
host
end
end

tries
end
end.map(&:value)
end

retries = results.sum - hosts.size
nopes = results.count { |r| r == max }

puts "Prewarmed %d DNS lookups in %.2f sec: %d retries, %d failures" % [ hosts.size, elapsed, retries, nopes ]
Loading