Fundamentos de Programação/03 - Sistemas Reais1 minprojeto
Projeto Integrador
Semanas 11 e 12 — Projeto integrador
Objetivo
Uma API do zero que junta tudo. É a prova de que as 10 semanas anteriores viraram capacidade, e não coleção de anotações.
Escolha do tema
Algo chato e real: controle de estoque, agendamento, gestão de chamados. Projeto "divertido demais" costuma virar procrastinação disfarçada — você gasta a semana decidindo o nome e o logo em vez de modelar o domínio.
Tema escolhido:
Repositório:
Requisitos
Dados
- Banco relacional com modelagem própria (não gerada por scaffold)
- CRUD completo
- Migrations versionadas
- Índices justificados — sabendo dizer por que cada um existe (5. Índices)
Segurança
- Autenticação (7. Sessão vs JWT)
- Autorização — pelo menos dois papéis com permissões diferentes
- Validação de entrada em toda borda pública
Qualidade
- Testes unitários das regras de negócio (1. Teste Unitário)
- Testes de integração dos endpoints (2. Teste de Integração)
- Tratamento de erro consistente — um formato de erro só, documentado (5. Status Codes)
- Logs úteis: com contexto suficiente para investigar sem reproduzir
Documentação
- README explicando as decisões de arquitetura, não só como rodar
- Para cada decisão, o trade-off que você aceitou
Bônus
- Docker
- Pipeline de CI simples rodando os testes
Decisões de arquitetura
Justifique com trade-off, não com "é o padrão"
Esse é o último item da Autoavaliação. Escreva aqui enquanto decide — reconstruir o raciocínio depois nunca funciona.
| Decisão | Alternativa considerada | Por que essa | O que eu perdi |
|---|---|---|---|
Diário do projeto
O que travou
O que eu não sabia que não sabia
Parte de 03 - MOC Sistemas Reais · 00 - MOC Fundamentos de Programação