Raízes do Nordeste API
API REST para pedidos multicanais, estoque por unidade e pagamentos simulados
2026
Contexto
Raízes do Nordeste é uma API REST desenvolvida para uma atividade acadêmica de Projeto Back-End. O sistema centraliza a operação de uma rede de restaurantes com múltiplas unidades: usuários, catálogo, estoque, pedidos, campanhas, cupons, fidelidade e pagamentos. O objetivo técnico foi integrar esses recursos por regras de negócio consistentes, em vez de tratá-los como cadastros independentes.
Arquitetura
A aplicação utiliza Java 17 e Spring Boot 3.5, com separação entre controllers, services e repositories. DTOs definem o contrato HTTP e concentram as validações de entrada. JPA e Hibernate realizam o mapeamento relacional, enquanto o Flyway mantém a evolução reproduzível do banco de dados. O ambiente local e os testes usam H2; a configuração também prevê PostgreSQL.
Fluxos críticos e consistência
A criação de um pedido reserva o estoque da unidade e aplica os benefícios na ordem campanha, cupom e pontos. A operação é transacional e aceita Idempotency-Key, evitando a duplicação de pedidos em novas tentativas da mesma requisição.
O pagamento passa por um gateway simulado, capaz de aprovar, recusar ou representar indisponibilidade técnica. Uma máquina de estados controla o avanço do pedido, a expiração automática de reservas e o cancelamento com devolução de estoque, compensação de benefícios e estorno. Atualizações condicionais e bloqueios pessimistas protegem estoque, campanhas, cupons, pagamentos e cancelamentos contra conflitos concorrentes.
Estados e transições controlados pelo serviço de pedidos.
Segurança e proteção de dados
A autenticação utiliza JWT e senhas protegidas com BCrypt. A autorização combina perfis com regras contextuais, como propriedade do pedido e vínculo do funcionário com a unidade. O projeto também registra aceite versionado dos termos, consentimento separado para fidelidade, anonimização de conta e identificadores pseudonimizados nos logs.
Validação e limites
A solução possui 255 testes automatizados. O contrato OpenAPI documenta 49 operações, e a coleção Postman reúne 35 requisições encadeadas com 55 asserções. Como delimitação, o gateway não executa transações financeiras reais e a aplicação não representa uma implantação de produção.