Este arquivo fornece orientações e contexto para o Gemini CLI operar no projeto prjeto-post-it.
O prjeto-post-it é um sistema de gerenciamento de notas adesivas (Post-its) de alta performance, projetado para execução local via Docker. O foco técnico está na robustez, seguindo padrões de indústria como Arquitetura Hexagonal, migrations versionadas e tratamento de erros padronizado.
- Backend: Java 21 + Spring Boot 3.x (Arquitetura Hexagonal)
- Banco de Dados: PostgreSQL 16 (containerizado)
- Frontend: React (previsto)
- Infraestrutura: Docker & Docker Compose
- Migrations: Flyway
- Padronização: RFC 9457 para respostas de erro (Problem Details)
O projeto encontra-se em fase de bootstrap. A raiz contém diversos scripts Python e Shell destinados a gerar a estrutura completa do backend e frontend.
backend/: Código fonte Java/Spring.frontend/: Código fonte React.docker-compose.yml: Orquestração de containers.
Para inicializar o projeto, utilize os seguintes scripts:
# Executa o processo completo de bootstrap (criação de diretórios e arquivos)
./EXECUTE_THIS_FULL_BOOTSTRAP.sh
# Ou via Makefile (se disponível/configurado)
make bootstrap
# Script Python alternativo para geração total
python3 COMPLETE_BOOTSTRAP.pyOs agentes e desenvolvedores devem seguir estas diretrizes ao implementar o backend:
- Arquitetura Hexagonal:
domain: Regras de negócio puras (Records/Classes sem frameworks).application.ports: Interfaces de entrada (Inbound) e saída (Outbound).application.usecases: Implementação da lógica de aplicação.infrastructure.adapters.in: Controllers REST e adaptadores de entrada.infrastructure.adapters.out: Repositórios (Persistence) e adaptadores de saída.
- Testes:
- Utilizar JUnit 5, AssertJ e Testcontainers para testes de integração com banco real.
- Padrão Object Mother para fixtures.
- API:
- Endpoints em
/api/v1/postits. - Content-Type de erro:
application/problem+json.
- Endpoints em
REQUISITOS.md: Detalhamento funcional e não funcional completo.README_BOOTSTRAP.md: Instruções rápidas sobre o estado de bootstrap.PROXIMO_PASSO.txt: Notas sobre as próximas tarefas pendentes.