Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
d0738be
Update README with team member information
bg1777 Nov 5, 2025
cd8bf69
chore: inicializa o projeto ruby on rails
bcarolm Nov 13, 2025
66d2d9e
feat: adicao do BDD da issue Edicao e Delecao de Templates
bcarolm Nov 17, 2025
e865c12
feat: adicao do BDD da issue Atualizacao de Dados no SIGAA
bcarolm Nov 17, 2025
dc175af
Issues implementadas: Definir senha ao cadastrar, exportar relatórios…
bg1777 Nov 17, 2025
226e776
Estrutura inicial do Markdown
bg1777 Nov 17, 2025
4c02162
fix: correcao do BDD de Edicao e Delecao de Templates
bcarolm Nov 17, 2025
80a1091
fix: correcao do BDD de Importar Dados do SIGAA
bcarolm Nov 17, 2025
7f57bc8
feat: adicao do BDD da issue Criar Template de Formulário
bcarolm Nov 17, 2025
f222059
feat: adicao do BDD da issue Visualizacao dos Templates Criados
bcarolm Nov 17, 2025
b2bb055
issues implementadas: visualizar formularios criados, visualizar form…
bg1777 Nov 18, 2025
1c142d5
Merge pull request #2 from bg1777/bernardo/issues
bcarolm Nov 18, 2025
8ef3fc1
Atualizando wiki do projeto
bg1777 Nov 18, 2025
aafd74c
Merge pull request #3 from bg1777/issues_carol
bg1777 Nov 18, 2025
95a8c09
Mais alterações no md da wiki
bg1777 Nov 18, 2025
2b3e1f0
Add files via upload
Fam21 Nov 18, 2025
cbad876
Ajustes finais ao markdown
bg1777 Nov 19, 2025
e3a5fcf
Ajustes as issues: cadastrar usuario do sistema, criar formulario, ed…
bg1777 Nov 19, 2025
7b0c25f
Merge pull request #4 from bg1777/rework/sprint-1
bg1777 Nov 19, 2025
5528a67
Update README.md
bg1777 Dec 7, 2025
f17e43d
Update README.md: Adicionando estrutura do banco de dados
bg1777 Dec 7, 2025
eec9cda
Update README.md: Add examples for classes and class members JSON files
bg1777 Dec 7, 2025
1c679e9
chore: update Gemfile
bg1777 Dec 7, 2025
208e187
feat: Model de user implementada
bg1777 Dec 8, 2025
297b14b
feat: tela de login + inicio da dashboard do admin
bg1777 Dec 8, 2025
ae802d5
Login de admin com sucesso
bg1777 Dec 8, 2025
302e4b0
feat: funcionalidade de importar turmas e usuarios no backend
bg1777 Dec 8, 2025
91330dc
feat: Importação de dados do SIGAA completa!
bg1777 Dec 8, 2025
d06ddb0
Merge pull request #5 from bg1777/feature/users
bg1777 Dec 8, 2025
8976c29
feat: models implementados e testados com sucesso
bg1777 Dec 8, 2025
93d9e44
feat: inicio das implementacoes de views para templates
bg1777 Dec 8, 2025
a5ebbb4
fix: Correcoes na tela de criacao de template
bg1777 Dec 8, 2025
529bf12
feature: botao de adicionar campos no template funcional
Dec 8, 2025
c760a84
Views de criar formulario e gerenciar formularios para adm
Dec 8, 2025
f882530
feat: publicar forms e ver forms para responder
Dec 8, 2025
210d202
feat: fluxo de forms completo
bg1777 Dec 9, 2025
3d5e54d
Merge pull request #6 from bg1777/feature/forms
bg1777 Dec 9, 2025
c4c0715
feat/remocao do botao remember me da tela de login
bcarolm Dec 9, 2025
73b37c7
fix/correcao do botao para sair a partir da pagina de importacao
bcarolm Dec 9, 2025
baa66a0
fix/correcao do botao de fechar aviso na pagina de importacao
bcarolm Dec 9, 2025
72820a0
fix/visualizacao do template criado
bcarolm Dec 9, 2025
16b7054
feat/delecao de template de formulario
bcarolm Dec 9, 2025
fa3bf4c
feat/adicionar campo ao editar template ja existente
bcarolm Dec 9, 2025
97debf0
fix/retirada do botao de voltar do dashboard
bcarolm Dec 9, 2025
4e7dc57
mise para isaac
Dec 9, 2025
1a04830
Merge pull request #7 from bg1777/feature/carol
bcarolm Dec 9, 2025
a9e859d
Merge pull request #8 from bg1777/isaac/features
Isaaacsc Dec 9, 2025
7388e38
botoes de visualizar form e voltar atualizados
Dec 9, 2025
71c53b9
Merge pull request #9 from bg1777/isaac/features
Isaaacsc Dec 9, 2025
3781916
fix: rotas consertadas na tela de respostas e correcoes menores na te…
bg1777 Dec 9, 2025
59836ac
Merge pull request #10 from bg1777/fix/tela-de-respostas
bg1777 Dec 9, 2025
155d832
student/forms/show
Dec 10, 2025
abfec34
design layouts and home
Dec 10, 2025
6ac9e30
design admin/dashboard
Dec 10, 2025
0548429
admin/form_templates
Dec 10, 2025
ce94b29
admin/forms
Dec 10, 2025
ed70977
admin/imports
Dec 10, 2025
3b4257e
Merge pull request #22 from bg1777/feature/design
Isaaacsc Dec 10, 2025
0194366
fix: consertando responder forms
bg1777 Dec 10, 2025
0b35ef6
Atualizando Readme.md
bg1777 Dec 10, 2025
fe233d5
saikuro e rubycritic verificados
bg1777 Dec 15, 2025
4238740
correcoes e cobertura de testes de form responses, users, template fi…
bg1777 Dec 15, 2025
36d73aa
90% de cobertura nos testes
bg1777 Dec 15, 2025
8708ce7
arquivos project_structure e projeto_arquivos atualizados
bg1777 Dec 15, 2025
a66a200
corrigindo project_structure
bg1777 Dec 15, 2025
04638ee
ajustes dos BDD do cucumber
bg1777 Dec 16, 2025
c63a2fe
feat: BDDs ajustados para o escopo real do projeto e cucumber funcion…
bg1777 Dec 16, 2025
5f0976e
fix: refactored methods
bg1777 Dec 16, 2025
2ce7041
modificando project structure e projeto completo novamente
bg1777 Dec 16, 2025
2395b14
doc: Documentacao dos models, controllers e services
bg1777 Dec 16, 2025
671e313
Add files via upload
bg1777 Dec 16, 2025
e766f42
modificando arquivos txt e md
bg1777 Dec 16, 2025
3ed74e2
Indicando md da sprint 3 no readme
bg1777 Dec 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 51 additions & 0 deletions .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 .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 .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: daily
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
90 changes: 90 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: CI

on:
pull_request:
push:
branches: [ main ]

jobs:
scan_ruby:
runs-on: ubuntu-latest

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

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

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

scan_js:
runs-on: ubuntu-latest

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

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

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

lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

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

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

test:
runs-on: ubuntu-latest

# services:
# redis:
# image: redis
# ports:
# - 6379:6379
# options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Install packages
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y build-essential git libyaml-dev pkg-config google-chrome-stable

- name: Checkout code
uses: actions/checkout@v4

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

- name: Run tests
env:
RAILS_ENV: test
# REDIS_URL: redis://localhost:6379/0
run: bin/rails db:test:prepare test 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
34 changes: 34 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 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 master key for decrypting credentials and more.
/config/master.key
3 changes: 3 additions & 0 deletions .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 .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 .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 .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 .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 .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 .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