Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
166 commits
Select commit Hold shift + click to select a range
c0cb238
Merge pull request #19 from GiizAzul/main
Okynaua Sep 22, 2026
f193491
Merge pull request #22 from GiizAzul/hotfix/reorganizacao-diretorios
caio-unicamp Sep 28, 2026
409bdaa
refactor: Começa a passar para interface web criando html base do sis…
caio-unicamp Sep 30, 2026
589b2e9
refactor: Inclui tela de login inicial a partir da autenticação
caio-unicamp Sep 30, 2026
5905617
refactor: Adiciona tela com as votações disponíveis e botão de logout
caio-unicamp Sep 30, 2026
fbf2444
refactor: Altera a inicialização do app com a nova estrutura
caio-unicamp Oct 1, 2026
a580cf0
chore: Adiciona bibliotecas necessárias para interface web
caio-unicamp Oct 1, 2026
f8164c7
chore: Adiciona importações dos routers
caio-unicamp Oct 1, 2026
948e287
chore: Placeholder para importações dos routers
caio-unicamp Oct 1, 2026
c1a163e
feat: Adiciona router para autenticação de usuário
caio-unicamp Oct 1, 2026
616e372
feat: Adiciona router para eleição da australia
caio-unicamp Oct 1, 2026
492cc03
feat: Adiciona router para partida de botc
caio-unicamp Oct 1, 2026
52f9d23
feat: Adiciona router para assembleia do caco
caio-unicamp Oct 1, 2026
1c28da5
refactor: Muda tela para eleição da austrália para interface wev
caio-unicamp Oct 1, 2026
7c3d172
refactor: Muda tela da partida de botc para interface web
caio-unicamp Oct 1, 2026
8289b90
refactor: Muda tela da assembleia do caco para interface web
caio-unicamp Oct 1, 2026
8e2ee5a
refactor: Muda o nome do href do botc
caio-unicamp Oct 1, 2026
96a2d33
refactor: Altera tela de sucesso para novo estilo de interface web
caio-unicamp Oct 1, 2026
0af6eef
chore: Passa o arquivo antigo de inicialização da sessão para o legad…
caio-unicamp Oct 1, 2026
e98b62d
feat: Adiciona estilização genérica a ser alterada futuramente para a…
caio-unicamp Oct 1, 2026
33590a8
refactor: Passa a estrutura de cadastro de novos usuários para a refa…
caio-unicamp Oct 1, 2026
8e4ce1f
feat: Altera a coleta de cookies para ficar concentrada em um arquivo…
caio-unicamp Oct 1, 2026
ba2a6d3
refactor: Muda a tela de cadastro para interface web
caio-unicamp Oct 1, 2026
b606bce
refactor: Muda tela de admin da gestão do caco
caio-unicamp Oct 1, 2026
0b0cf0b
chore: Adiciona importações visíveis na pasta
caio-unicamp Oct 1, 2026
bac79e7
feat: Adiciona página de admin para storyteller de botc
caio-unicamp Oct 1, 2026
a649cc8
feat: Faz alterações necessárias para funcionar o admin da gestão do …
caio-unicamp Oct 1, 2026
2feb56e
feat: Adiciona conferência de usuário para redirecionamento à página …
caio-unicamp Oct 1, 2026
d59e422
feat(auth): implementa geração de UUID v4 imutável para usuários
GiizAzul Oct 3, 2026
473f83a
refactor(auth): alterar armazenamento de usuários para utilizar UUID
GiizAzul Oct 3, 2026
f9dfa9d
refactor(caco): remover atribuição manual de id em EstudanteCACo
GiizAzul Oct 3, 2026
f4a55f7
style(lint): organizar blocos de importação conforme padrão I001
GiizAzul Oct 3, 2026
5f99d8a
fix(auth): converter UUID para string e utilizar atributo interno pro…
GiizAzul Oct 3, 2026
368e637
test(auth): atualizar testes para nova assinatura sem IDs manuais e v…
GiizAzul Oct 3, 2026
3b050e0
feat(auth): implementar lógica de controle de acesso e roteamento por…
GiizAzul Oct 3, 2026
83f6a34
refactor(auth): exportar novas classes de autorização no pacote base
GiizAzul Oct 3, 2026
716dcf0
test(auth): adicionar testes unitários para a autorização e controled…
GiizAzul Oct 3, 2026
75cc947
test(auth): adicionar teste para banco de usuários inconsistente
GiizAzul Oct 4, 2026
a22d73a
refactor(eleicoes): migrar controle de votos e auditoria para utiliza…
GiizAzul Oct 4, 2026
61e03f8
test(eleicoes): atualizar testes para refletir transição para User_ID…
GiizAzul Oct 4, 2026
55b5d49
style(auth): tipar atributos mutáveis de classe com ClassVar
GiizAzul Oct 4, 2026
ec1e563
Merge pull request #47 from GiizAzul/feature/autenticacao-usuario
GiizAzul Oct 5, 2026
58f9f5b
chore: Dando merge das mudanças de autenticação feitas na interface
caio-unicamp Oct 5, 2026
9aa2e9e
refactor: Muda router de autenticação após mudanças feitas no backend…
caio-unicamp Oct 5, 2026
2e5c105
fix: Conserta o nome da classe da gestão do caco
caio-unicamp Oct 5, 2026
ade6789
fix: Conserta os caminhos para execução usando o caminho absoluto em …
caio-unicamp Oct 5, 2026
95b4222
fix: Conserta quantidade de atributos de classe gestão do caco
caio-unicamp Oct 5, 2026
7e9a864
fix: Conserta nova versão da biblioteca passando o context de forma c…
caio-unicamp Oct 5, 2026
689d2e6
fix: Coloca name= em cada TemplateResponse pra não dar erro na ordem
caio-unicamp Oct 5, 2026
d8486ef
fix: Coloca str no base_dir pra não dar problema e sobe mais um diret…
caio-unicamp Oct 5, 2026
88b1e58
feat: Adiciona botão para cadastro
caio-unicamp Oct 5, 2026
09d8467
feat: Estiliza melhor os textos e botões
caio-unicamp Oct 5, 2026
9c5a0cb
fix: Conserta dependência para novo banco de ids de usuários
caio-unicamp Oct 5, 2026
7f5b71e
fix: Conserta conferência em banco no router de autenticação usando a…
caio-unicamp Oct 5, 2026
9dfa0f7
fix: Muda o usuario.nome para usuario.nome_real que é a forma correta…
caio-unicamp Oct 5, 2026
3e4e7c1
chore: Altera nome do antigo teste do cli
caio-unicamp Oct 5, 2026
8230164
test: Cria arquivo de teste para interface web
caio-unicamp Oct 5, 2026
90d6512
fix: Conserta o método httpx do teste para insersão de cookies direto…
caio-unicamp Oct 5, 2026
54a4ee5
test: Adiciona tests para fluxos nos módulos router
caio-unicamp Oct 5, 2026
96ccb4f
fix: Conserta caminhos pais de todos os routers
caio-unicamp Oct 5, 2026
704b55e
fix: Conserta o allow_redirects para follow_redirects onde estava fal…
caio-unicamp Oct 5, 2026
b5756b3
test: Testa dependência para acesso sem cookie e para username não ex…
caio-unicamp Oct 5, 2026
dac3f8e
test: Testa cadastros incorretos do auth_router
caio-unicamp Oct 5, 2026
fb258a0
test: Testa acessos e ações da gestão
caio-unicamp Oct 5, 2026
f115eb1
fix: Conserta o name sucesso.html que ainda estava solto
caio-unicamp Oct 5, 2026
2f5b4f9
refactor: Muda a exceção levantada pra não ficar uma coisa feia pro u…
caio-unicamp Oct 5, 2026
a3bf0e1
feat: Adiciona tratamento da nova exceção customizada
caio-unicamp Oct 5, 2026
02de873
docs: Adiciona comentários
caio-unicamp Oct 5, 2026
05b4ea8
fix: Conserta o assert de Sessão inválida depois que mudamos a exceção
caio-unicamp Oct 5, 2026
f2179c6
test: Adiciona testes para botc_router
caio-unicamp Oct 5, 2026
0b6cd90
fix: Cadastra um jogador temporário para garantir que ele existe no b…
caio-unicamp Oct 5, 2026
5868088
test: Testa acesso deslogado no router da australia
caio-unicamp Oct 5, 2026
05b3910
docs: Muda pra versão do httpx que não está deprecated
caio-unicamp Oct 5, 2026
93c03ae
fix: Fecha bloco de for que estava aberto no template da australia
caio-unicamp Oct 5, 2026
a594e6b
perf: Armazena o que é escrito no cadastro para não perder ao dar um …
caio-unicamp Oct 5, 2026
6b37961
style: Adiciona estilo nos alertas de sucesso e erro
caio-unicamp Oct 5, 2026
956bc45
fix: Volta na mensagem antiga pro teste ficar correto
caio-unicamp Oct 5, 2026
bd2e233
feat: Adiciona tipo candidato australia no tipo de usuário
caio-unicamp Oct 6, 2026
1bd5a19
refactor: Altera o método de processar voto na eleição da austrália f…
caio-unicamp Oct 6, 2026
0e63ee8
refactor: Altera o teste do voto na austrália a partir da mudança fei…
caio-unicamp Oct 6, 2026
7ace373
refactor: Altera a maneira que é salvo o banco de dados em memória e …
caio-unicamp Oct 6, 2026
649f34b
fix: Coloca os nomes corretos dos argumentos na criação de sessões de…
caio-unicamp Oct 6, 2026
db10e3a
feat: Tenta implementar bloqueio para votos duplos na eleição da aust…
caio-unicamp Oct 7, 2026
e462520
fix: Tira o mock dentro do router deixando a conferência de candidato…
caio-unicamp Oct 7, 2026
6e25ba9
feat: Adiciona o erro no alerta do html da votação da australia
caio-unicamp Oct 7, 2026
0f4df67
fix: Finaliza o bloqueio de votos duplos no contexto da austrália
caio-unicamp Oct 7, 2026
4362315
fix: Conserta em escrito em ingles no html do botc
caio-unicamp Oct 7, 2026
5a7ecfb
refactor: Muda o nome da função de processar voto no contexto da aust…
caio-unicamp Oct 7, 2026
3fa17b3
feat: Barra votação dupla em uma eleição de pauta
caio-unicamp Oct 7, 2026
1ca7852
feat: adiciona erro quando já votou
caio-unicamp Oct 7, 2026
23a790d
feat: Permite que membros da gestão iniciem votações
caio-unicamp Oct 7, 2026
ce642db
feat: Divide entre ações dos estudantes e da gestão do CACO
caio-unicamp Oct 7, 2026
4c12908
style: Estiliza botões da gestão e omite os botões de votação quando …
caio-unicamp Oct 7, 2026
266d923
fix: Conserta a inicialização de votações que não estava passando pra…
caio-unicamp Oct 7, 2026
64c890c
refactor: Tira votos da memória e faz conferência dinâmica
caio-unicamp Oct 8, 2026
97eec6a
feat: Adiciona uma tela de resultados na assembleia do caco
caio-unicamp Oct 8, 2026
702bd7b
style: Estiliza barra de progresso dos resultados do caco
caio-unicamp Oct 8, 2026
a2e349b
feat: Permite que usuários criados após iniciar uma assembleia partic…
caio-unicamp Oct 8, 2026
399094d
docs: Tira comentário de redirecionamento incorreto
caio-unicamp Oct 8, 2026
dd642cf
test: Testa cadastro após iniciar uma assembleia
caio-unicamp Oct 8, 2026
c8f2ca5
fix: Conserta o teste da rota do caco que agora precisa ter uma assem…
caio-unicamp Oct 8, 2026
547e1e3
fix: Conserta com o novo texto estilizado de resultados
caio-unicamp Oct 8, 2026
4c70c5d
fix: Passa o novo erro estilizado em vez do antigo feio
caio-unicamp Oct 8, 2026
80deb89
fix: Testa login real em vez de cookies manuais
caio-unicamp Oct 8, 2026
4572902
test: Testa se as verificações de escopo expulsam intrusos
caio-unicamp Oct 8, 2026
bbac296
test: Testa blocos de exceção no caco_router
caio-unicamp Oct 8, 2026
348b010
test: Testa blocos de exceção na australia_router
caio-unicamp Oct 8, 2026
9db2cc9
test: Testa blocos de exceção no botc_router
caio-unicamp Oct 8, 2026
b200010
test: Testa voto incompleto
caio-unicamp Oct 8, 2026
5330514
test: Testa voto inexistente na eleição do caco
caio-unicamp Oct 8, 2026
7e14030
test: Testa encerrar duas vezes a assembleia do caco
caio-unicamp Oct 8, 2026
b38c3b9
test: Testa se o mestre de botc registrou errado o número de votos
caio-unicamp Oct 8, 2026
530e7b0
fix: Conserta a busca por strings vazias e procura o status code
caio-unicamp Oct 8, 2026
1a983a7
fix: Tira testes ambíguos já que os de _excecoes_internas já replicam…
caio-unicamp Oct 8, 2026
2d852eb
fix: Conserta teste muito rígido quando não deveria na fraude de dife…
caio-unicamp Oct 8, 2026
5f2c32a
fix: Conserta que leo estava criado como player e tentou usá-lo de st…
caio-unicamp Oct 8, 2026
d834a05
feat: Adiciona tag de erro no html do botc
caio-unicamp Oct 8, 2026
6f79e61
fix: Verifica corretamente o erro
caio-unicamp Oct 8, 2026
6d7d028
feat: Atualiza a tela de jogadores botc
caio-unicamp Oct 8, 2026
3af2545
feat: Bloqueia inserir o mesmo número para candidatos diferentes
caio-unicamp Oct 8, 2026
5930271
test: Testa colocar diferentes candidatos no mesmo ranking
caio-unicamp Oct 8, 2026
4c8c204
feat: Adiciona uma maior conferência de empate de ranking
caio-unicamp Oct 8, 2026
5f08c3d
feat: Testa com mais abrangência a condição de empate
caio-unicamp Oct 8, 2026
dbbd7cd
fix: Passa um eleitor novo para votar em vez de um que já salvou o vo…
caio-unicamp Oct 8, 2026
f270e31
fix: Tira verificação dupla desnecessária
caio-unicamp Oct 8, 2026
369171a
test: Testa o caso do ID do usuário existir no mapa de cookies mas nã…
caio-unicamp Oct 8, 2026
78afe6c
test: Testa se o ra possui letras
caio-unicamp Oct 8, 2026
8e1f0f9
test: Testa se players normais conseguem registrar votos
caio-unicamp Oct 8, 2026
2cc6e48
test: Testa se um estudante consegue acessar os botões da gestão
caio-unicamp Oct 8, 2026
6a019a1
test: Testa votos duplos na eleição do caco
caio-unicamp Oct 8, 2026
5b6d884
test: Testa votos duplos australia
caio-unicamp Oct 8, 2026
023eece
feat(auth): suportar login por RA e bloquear registros de RAs duplicados
GiizAzul Oct 8, 2026
cf92063
test(auth): adicionar testes para login via RA e bloqueio de duplicatas
GiizAzul Oct 8, 2026
ece7c03
refactor(auth): renomear parâmetro username para identificador no login
GiizAzul Oct 8, 2026
180800f
test: Isola a arquitetura do estado global para o teste de voto duplo…
caio-unicamp Oct 8, 2026
994ae32
test: Testa métodos get das páginas de cada router
caio-unicamp Oct 8, 2026
a31232c
chore: Tira método ambíguo de verificação do método get da tela da au…
caio-unicamp Oct 8, 2026
6748803
chore: Tira método ambíguo de verificação do método get da tela do botc
caio-unicamp Oct 8, 2026
3fa63a4
chore: Tira método ambíguo de verificação do método get da tela do caco
caio-unicamp Oct 8, 2026
83026c9
chore: Ajuste no teste pós mudança das verificações dos routers dos 3…
caio-unicamp Oct 8, 2026
8b8389d
feat: Adiciona na main eleitores que já votaram
caio-unicamp Oct 8, 2026
eec5b84
chore: Tira conferência de if else desnecessária nos candidatos reais
caio-unicamp Oct 8, 2026
c830ff1
chore: remove a conferência se já votou na australia pois a main já c…
caio-unicamp Oct 8, 2026
9d24b0b
chore: remove a conferência se já votou no caco pois a main já cuida …
caio-unicamp Oct 8, 2026
65669d7
chore: Limpa ternário ambíguo da tela do botc de votos
caio-unicamp Oct 8, 2026
8d3c858
feat: Tira resultado em memória e pega o resultado real
caio-unicamp Oct 8, 2026
a33851c
chore: Tira importação dupla
caio-unicamp Oct 8, 2026
e834748
test: Adiciona testes para alcançar o coverage completo de branches e…
caio-unicamp Oct 8, 2026
227fa65
test: testa renderizar a tela quando já existem votos
caio-unicamp Oct 8, 2026
0478ed6
test: Testa disparar o HTTPException 403 explicitamente na rota de re…
caio-unicamp Oct 8, 2026
ad89165
test: Cobre as exceções que faltavam no router do caco que estavam se…
caio-unicamp Oct 8, 2026
cc7736f
chore: Fix para o linter não reclamar
caio-unicamp Oct 8, 2026
bd518b7
chore: Coloca o tipo annotated em vez de passar o Depends direto nos …
caio-unicamp Oct 8, 2026
0c252fa
chore: Adiciona tipos de erros específicos em vez de exceções genéric…
caio-unicamp Oct 8, 2026
676e464
chore: Passa os argumentos sem default para antes dos com default par…
caio-unicamp Oct 8, 2026
9af300e
Merge pull request #75 from GiizAzul/feature/auth_ra
GiizAzul Oct 8, 2026
822857e
Merge pull request #76 from GiizAzul/feature/interface
caio-unicamp Oct 9, 2026
8ff89f5
[feat] Adiciona verificacao de duplicatas na contabilizacao de presenca
jsnardo281272 Oct 9, 2026
717994d
[test] Adiciona novo teste para garantia de presenca unica
jsnardo281272 Oct 9, 2026
0ee9e89
[ci] Aplica sugestões de estilo do ruff
jsnardo281272 Oct 9, 2026
85712b2
merge: integrar develop em feature assembleia caco
jsnardo281272 Oct 10, 2026
64d15b2
Merge pull request #77 from GiizAzul/feature/assembleia-caco
jsnardo281272 Oct 10, 2026
801e895
docs: atualiza o README para a entrega da atividade 3
Okynaua Oct 10, 2026
fc2b9db
docs: atualiza A3_report com o documento finalizado
Okynaua Oct 10, 2026
1400f6c
Merge pull request #78 from GiizAzul/feature/readme
Okynaua Oct 10, 2026
2ff0874
Merge pull request #79 from GiizAzul/feature/A3_report
Okynaua Oct 10, 2026
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
106 changes: 56 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,39 +26,49 @@ de usuário:

## Organização do repositório

O repositório está dividido em duas pastas, correspondentes às duas atividades
da disciplina realizadas até o momento:

- **`A1/`** — arquivos em LaTeX e PDF que definem o processo de
desenvolvimento do projeto (Atividade 1).
- **`A2/`** — todo o projeto descrito neste README (Atividade 2): código-fonte,
testes e o `main.py` da aplicação.
O repositório reúne o código da aplicação (na raiz) e a documentação das
atividades da disciplina (em `docs/`):

- **Raiz (`main.py`, `src/`, `tests/`)** — o projeto descrito neste README
(Atividade 2): código-fonte, testes e o ponto de entrada da aplicação.
- **`docs/A1_report/`** — relatório da Atividade 1 (LaTeX e PDF) com a definição
do processo de desenvolvimento, incluindo diagramas (casos de uso, domínio,
processo) e protótipos de telas.
- **`docs/A3_report/`** — relatório da Atividade 3 (LaTeX): elicitação e análise
de requisitos, épicos, histórias de usuário e backlog priorizado. **Em
andamento.**
- **`.github/workflows/ci.yml`** — pipeline de integração contínua (ver
[Integração contínua](#integração-contínua)).

As seções abaixo (estrutura, como rodar, testes) se referem ao conteúdo da
pasta `A2/`.

## Estrutura do projeto

> ⚠️ **Status: prévia inicial.** Esta versão cobre a lógica central do projeto e uma interface de linha de comando (CLI) mínima para navegar por ela..
> ⚠️ **Status: prévia inicial.** Esta versão cobre a lógica central dos três
> contextos e uma interface de linha de comando (CLI) para navegar por ela.
> Veja [Status do projeto e próximos passos](#status-do-projeto-e-próximos-passos).

```
.
├── A1/ # Atividade 1: documentação do processo (LaTeX/PDF)
└── A2/ # Atividade 2: implementação do projeto
├── main.py # ponto de entrada da aplicação
├── requirements.txt # dependências de teste/lint
├── src/
│ ├── caco.py # motor da Assembleia do CACo
│ ├── australia.py # motor da Eleição Austrália (voto transferível)
│ ├── botc.py # motor do Blood on the Clocktower
│ ├── interfaces.py # interface comum aos motores de votação
│ ├── autenticacao/ # usuários, perfis (escopos) e serviço de login
│ └── cli/ # loop principal e telas do terminal
│ ├── app.py
│ ├── sessao.py
│ ├── cli_utils.py
│ └── telas/ # uma tela por fluxo (login, cadastro, cada contexto, etc.)
└── tests/ # testes automatizados (pytest) de domínio e de interface
├── main.py # ponto de entrada da aplicação
├── requirements.txt # dependências de teste/lint
├── src/
│ ├── caco.py # motor da Assembleia do CACo
│ ├── australia.py # motor da Eleição Austrália (voto transferível)
│ ├── botc.py # motor do Blood on the Clocktower
│ ├── interfaces.py # interface comum aos motores de votação
│ ├── autenticacao/ # usuários, perfis (escopos) e serviço de login
│ └── cli/ # loop principal e telas do terminal
│ ├── app.py
│ ├── sessao.py
│ ├── cli_utils.py
│ └── telas/ # uma tela por fluxo (login, cadastro, cada contexto, etc.)
├── tests/ # testes automatizados (pytest) de domínio, autenticação e interface
├── docs/
│ ├── A1_report/ # Atividade 1: processo de desenvolvimento
│ └── A3_report/ # Atividade 3: requisitos
└── .github/workflows/ci.yml # CI: build, lint (ruff) e testes (pytest + cobertura)
```

## Requisitos
Expand All @@ -68,15 +78,12 @@ pasta `A2/`.

## Como rodar

A partir da pasta `A2/` (raiz do código do projeto):
A partir da raiz do repositório:

```bash
cd A2
python3 main.py
```

> O programa precisa ser executado a partir da raiz de `A2/`, pois os
> módulos são importados como `src...`.

Ao iniciar, é possível **criar uma conta nova** ou **entrar** com um dos
usuários de demonstração já cadastrados em `main.py`:
Expand All @@ -92,42 +99,41 @@ usuários de demonstração já cadastrados em `main.py`:

## Como rodar os testes

Também a partir da pasta `A2/`:
Também a partir da raiz do repositório:


## Como rodar os testes

Também a partir da raiz do repositório:

```bash
pip install -r requirements.txt
pytest
```

Para ver a cobertura de testes (como na CI):

```bash
pytest --cov=src --cov-report=term
```

Para checar o estilo do código:

```bash
ruff check .
ruff check src/ tests/
```

## Status do projeto e próximos passos

Esta entrega tem como foco validar a lógica de negócio de cada sistema eleitoral e uma navegação básica entre as telas. Alguns dos próximos passos já mapeados para as próximas entregas da disciplina, organizados por área, são:

#### Autenticação
- Salvar usuário entre as sessões

#### Eleição da Austrália
- Validação de duas camadas para candidatos com o mesmo nome
- Impedir que o mesmo usuário vote duas vezes

#### Assembleia do CACo
- Tempo de votação
- Conferir se o votante está na lista de estudantes
Esta entrega tem como elicitar requisitos para guiar o desenvolvimento do projeto.

#### Blood on the Clocktower
- Implementar toda a mecânica do jogo de girar "ao redor do relógio",
conferindo jogador por jogador
Os próximos passos estão organizados no quadro do GitHub Projects:

#### Interface
- Permitir mais de uma votação por sessão (hoje, para uma nova votação do CACo, por exemplo, após uma votação ser encerrada é necessário iniciar uma nova sessão)
- Desenvolver uma interface propriamente dita, não em terminal
**[Projeto MC656 no GitHub Projects](https://github.com/users/GiizAzul/projects/1)**

Essas melhorias, entre outras, serão trabalhadas nas próximas entregas do
projeto.
- **Issues:** as issues com a label `Atividade3` vieram do levantamento de
requisitos da Atividade 3 (épicos e histórias de usuário com critérios de
aceitação) e formam o backlog priorizado do projeto.
- **Documentação:** o processo de elicitação, a análise, os requisitos, os
épicos, as histórias e a priorização estão explicados em detalhe em
[`docs/A3_report/`](docs/A3_report).
Loading
Loading