Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
e8b8863
Update README.md
PedroHMConti Nov 12, 2025
083eac5
commit inicial com projeto rails
jmagnols Nov 12, 2025
7791915
commit inicial, com projeto do rails
jmagnols Nov 12, 2025
dbbdede
Muda nome da pasta 'CAMAAR_proj' para 'src'
fornari03 Nov 15, 2025
b3c04d3
docs: adiciona arquivo de orientações no desenvolvimento ágil/scrum d…
fornari03 Nov 15, 2025
5f5bdb1
spec: adiciona cenários da feature de importar dados do sigaa
fornari03 Nov 15, 2025
d62621e
spec: adiciona cenários da feature de atualizar dados do sigaa
fornari03 Nov 15, 2025
23a8b9e
spec: adiciona cenários da feature de cadastrar usuários do sistema
fornari03 Nov 15, 2025
d3e8eee
spec: adiciona cenários da feature de o usuário definir a senha
fornari03 Nov 15, 2025
01cfda2
spec: adiciona casos em que algum campo está em branco à feature de d…
fornari03 Nov 15, 2025
59ad2e9
spec: adiciona cenários da feature de redefinir senha
fornari03 Nov 15, 2025
e910656
spec: adiciona cenários felizes e tristes para a criação de templates
jmagnols Nov 16, 2025
d38e219
spec: adiciona cenários felizes e tristes para a criação de formulários
jmagnols Nov 16, 2025
53f37bb
spec: adiciona cenários felizes e tristes para a resposta de formulários
jmagnols Nov 16, 2025
ddf5a34
spec: adiciona cenários felizes e tristes para a geração de relatórios
jmagnols Nov 16, 2025
2a784fe
spec: adiciona cenários felizes e tristes para o login de usuário pen…
jmagnols Nov 16, 2025
888252d
spec: adiciona cenários felizes e tristes para a visualização de form…
maetsuji Nov 16, 2025
b237101
spec: adiciona cenários felizes e tristes para a visualização de resu…
maetsuji Nov 16, 2025
9150315
spec: adiciona cenários felizes e tristes para a criação de formulári…
maetsuji Nov 17, 2025
dba7c6f
spec: adiciona validação de campos vazios no template
jmagnols Nov 17, 2025
6d23b46
Merge pull request #6 from fornari03/bdd-criar-template
fornari03 Nov 17, 2025
ea32339
spec: adiciona caso para evitar dados duplicados na importação
fornari03 Nov 17, 2025
927d72f
spec: adiciona cenários de isolamento de turmas por departamento
jmagnols Nov 17, 2025
5aa9e39
Merge pull request #1 from fornari03/bdd/importar-dados-sigaa
jmagnols Nov 18, 2025
53cb6fc
Merge pull request #2 from fornari03/bdd/atualizar-dados-sigaa
jmagnols Nov 18, 2025
be17c43
Merge pull request #16 from fornari03/bdd-restricao-departamento
fornari03 Nov 18, 2025
06c533b
Merge pull request #15 from fornari03/bdd/criar_formulario_user
jmagnols Nov 18, 2025
116fd61
Merge pull request #13 from fornari03/bdd/visualizar-formulario
PedroHMConti Nov 18, 2025
c83e384
Merge pull request #3 from fornari03/bdd/cadastrar-usuarios
jmagnols Nov 18, 2025
bacd660
Merge pull request #9 from fornari03/bdd-gerar-relatorio
PedroHMConti Nov 18, 2025
ac505bb
Merge pull request #7 from fornari03/bdd-criar-formulario
PedroHMConti Nov 18, 2025
b1a5420
Merge pull request #8 from fornari03/bdd-responder-formulario
jmagnols Nov 18, 2025
0b4951d
Merge pull request #10 from fornari03/bdd-login-pendente
fornari03 Nov 18, 2025
f8c1e41
spec: adiciona cenários da feature de visualizar templates
fornari03 Nov 18, 2025
46c93d2
Update visualiza_templates.feature
PedroHMConti Nov 18, 2025
77850b2
adiciona os arquivos editar_templates.feature e editar_templates_step…
PedroHMConti Nov 18, 2025
1ab992e
Update editar_templates_steps.rb
PedroHMConti Nov 18, 2025
0c3ba74
Merge pull request #5 from fornari03/bdd/redefinir-senha-usuario
maetsuji Nov 18, 2025
d621584
Merge pull request #4 from fornari03/bdd/definir-senha-usuario
maetsuji Nov 18, 2025
080819b
spec: corrige alguns cenários e steps a fim de esclarecer a implement…
maetsuji Nov 18, 2025
dd0f8a1
Merge pull request #12 from fornari03/bdd-edita-deleta-templates
maetsuji Nov 18, 2025
39f342b
Merge pull request #14 from fornari03/bdd/visualizar-resultados
jmagnols Nov 19, 2025
b7c46a7
Merge pull request #11 from fornari03/bdd-visualiza-templates
jmagnols Nov 19, 2025
6cae924
spec: adiciona tags @happy_path e @sad_path em todos os cenários bdd
fornari03 Nov 19, 2025
d830df3
refac: move arquivo 'definir_senha_usuario.feature' para pasta featur…
fornari03 Nov 19, 2025
7eb687c
chore: arruma nome do arquivo 'visualizar_form.feature'
fornari03 Nov 19, 2025
035b3f2
Merge pull request #17 from fornari03/refac/adiciona-tags-happy-sad-bdds
maetsuji Nov 19, 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
  •  
  •  
  •  
137 changes: 137 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# Guia de Contribuição - Projeto CAMAAR (Grupo 4)

### Integrantes:
- Guilherme Fornari
- João Magno
- Pedro Conti
- Rodrigo Rafik

Este documento define as regras e o fluxo de trabalho que todos os membros do grupo devem seguir para garantir a organização e a qualidade do nosso projeto.

## 1. Papéis (Scrum)

Teremos dois papéis rotativos:

* **Product Owner (PO):** Responsável por ser a "voz do cliente", priorizar as User Stories (Issues) no backlog e validar as entregas.
* **ScrumMaster (SM):** Responsável por remover impedimentos, garantir que o time siga o processo (incluindo este guia) e proteger a equipe de distrações.

## 2. Nomenclatura de Branches

Toda nova tarefa, seja ela um BDD, uma feature ou um bugfix, **deve** ser feita em sua própria branch. **Nunca faça commits diretamente na `master` ou em branches de sprint**.

**Padrão:** `tipo/nome-da-tarefa`

### Tipos de Branch

* **`bdd/`**: Usado para escrever arquivos de especificação (`.feature`) do Cucumber.
* *Exemplo:* `bdd/login-de-usuario`
* *Exemplo:* `bdd/gerar-relatorio`

* **`feature/`**: Usado para implementar novas funcionalidades (o código da aplicação).
* *Exemplo:* `feature/login-de-usuario`

* **`fix/`**: Usado para corrigir bugs em funcionalidades existentes.
* *Exemplo:* `fix/erro-no-login-com-email`

* **`docs/`**: Usado para alterações na documentação (Wiki, README, etc.).
* *Exemplo:* `docs/atualiza-instrucoes-do-guia`

## 3. Nomenclatura de Commits

Para manter o histórico do Git limpo e legível, usaremos prefixos nos nossos commits.

**Padrão:** `prefixo: Mensagem clara do que foi feito.`

### Prefixos de Commit

* **`spec:`**: (Para Sprint 1) Adição ou modificação de arquivos de especificação BDD (`.feature`).
* *Exemplo:* `spec: Adiciona cenários feliz e triste para login de usuário`

* **`feat:`**: (Sprints futuras) Adição de uma nova funcionalidade (código).
* *Exemplo:* `feat: Implementa rota e controller para login`

* **`fix:`**: (Sprints futuras) Correção de um bug.
* *Exemplo:* `fix: Corrige validação de senha no login`

* **`refac:`**: Alteração de código que não corrige bug nem adiciona feature.
* *Exemplo:* `refact: Remove código duplicado do controller de usuário`

* **`docs:`**: Alterações na documentação.
* *Exemplo:* `docs: Atualiza wiki com novo fluxo de PR`

* **`style:`**: Alterações de formatação, lint, etc. (sem mudança lógica).
* *Exemplo:* `style: Aplica formatação do RuboCop`

## 4. Fluxo de Trabalho (Workflow)

Este é o processo-padrão para **todas** as contribuições.

### Passo 1: Início da Tarefa

1. **Sincronize sua `master` local** com a `master` do fork do grupo:
```bash
git checkout main
git pull origin main
```
2. **Crie sua nova branch** a partir da `master` usando a nomenclatura correta:
```bash
git checkout -b bdd/nome-da-minha-tarefa
```

### Passo 2: Trabalho Local

1. Faça seu trabalho.
2. Faça seus commits usando a nomenclatura correta:
```bash
git add .
git commit -m "spec: Adiciona cenário feliz para minha tarefa"
```
3. Envie sua branch para o repositório (fork do grupo):
```bash
git push origin spec/nome-da-minha-tarefa
```

### Passo 3: Pull Request (PR)

1. No GitHub, abra um **Pull Request**.
2. Preencha o template do PR (veja seção 6).
3. **Importante:** Atribua pelo menos **um colega** do grupo como "Reviewer".
4. O PR **não deve** ser "mergeado" até que o Reviewer aprove.

## 5. Fluxo Específico: Sprint 1 (Entrega BDD)

Para a entrega da Sprint 1, o fluxo tem uma particularidade:

1. O **ScrumMaster (SM)** criará uma branch chamada `sprint-1` a partir da `main` do fork do grupo.
2. **Todos os membros** seguem o **Passo 1 e 2** da seção 4 (criando suas branches `bdd/` a partir da `main`).
3. **Pull Request (Interno):** Ao abrir o Pull Request (Passo 3), a **base** (branch de destino) **NÃO** será a `main`, mas sim a branch `sprint-1`.
* **De:** `bdd/login-de-usuario`
* **Para:** `sprint-1`
4. Após todos os PRs serem revisados e mergeados na `sprint-1`, um membro (ex: SM) fará o **Pull Request Final** para o professor:
* **De:** `nosso-fork/sprint-1`
* **Para:** `EngSwCIC/CAMAAR:main`

## 6. Fluxo Específico: Sprints Futuras (Implementação)

Após a Sprint 1, nosso fluxo voltará ao normal:

* **De:** `feature/nome-da-feature`
* **Para:** `main` (do fork do grupo)

A `main` do nosso fork será a nossa base de código estável.

## 7. Template de Pull Request

Ao criar um Pull Request, use este template na descrição.

```markdown
### O que foi feito?
(Descreva em poucas linhas o que este PR entrega. Ex: "Implementa os cenários BDD para a feature de Login de Usuário".)

### Como testar?
(Descreva os passos para o "Reviewer" validar seu trabalho. Ex: "1. Leia o arquivo `features/login.feature` e verifique se os cenários feliz e triste estão presentes.")

### Issue Relacionada
(Link para a User Story/Issue do GitHub que este PR resolve.)

- Resolve #[número_da_issue]
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
# CAMAAR
Sistema para avaliação de atividades acadêmicas remotas do CIC

#Figma : https://www.figma.com/design/5GVzfaJSBbcXmGvuvAi7WF/Camaar-2024.1?node-id=0-1&p=f
51 changes: 51 additions & 0 deletions src/.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*
3 changes: 3 additions & 0 deletions src/.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 src/.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 src/.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 src/.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 src/.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 src/.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 src/.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