[{"data":1,"prerenderedAt":107},["ShallowReactive",2],{"project-pt-raizes-do-nordeste-api":3},{"id":4,"title":5,"author":6,"body":7,"company":84,"date":85,"description":86,"extension":87,"highlight":88,"meta":89,"navigation":88,"path":90,"priority":91,"role":92,"section":93,"seo":94,"sitemap":95,"stem":96,"tags":97,"thumbnail":104,"year":105,"__hash__":106},"work\u002Fwork\u002Fpt\u002Fraizes-do-nordeste-api.md","Raízes do Nordeste API","Salguento",{"type":8,"value":9,"toc":75},"minimark",[10,15,19,23,26,30,38,41,52,56,59,63,66],[11,12,14],"h2",{"id":13},"contexto","Contexto",[16,17,18],"p",{},"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.",[11,20,22],{"id":21},"arquitetura","Arquitetura",[16,24,25],{},"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.",[11,27,29],{"id":28},"fluxos-críticos-e-consistência","Fluxos críticos e consistência",[16,31,32,33,37],{},"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 ",[34,35,36],"code",{},"Idempotency-Key",", evitando a duplicação de pedidos em novas tentativas da mesma requisição.",[16,39,40],{},"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.",[16,42,43,48],{},[44,45],"img",{"alt":46,"src":47},"Diagrama de estados do pedido, da reserva ao pagamento, entrega ou cancelamento.","\u002Fimg\u002Fwork\u002Fraizes-backend\u002Festados-pedido.png",[49,50,51],"em",{},"Estados e transições controlados pelo serviço de pedidos.",[11,53,55],{"id":54},"segurança-e-proteção-de-dados","Segurança e proteção de dados",[16,57,58],{},"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.",[11,60,62],{"id":61},"validação-e-limites","Validação e limites",[16,64,65],{},"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.",[16,67,68],{},[69,70,74],"a",{":rel":71,":target":72,"href":73},"noreferrer","_blank","https:\u002F\u002Fgithub.com\u002Fsalguento\u002Fprojeto-back-end-uninter","GitHub",{"title":76,"searchDepth":77,"depth":77,"links":78},"",2,[79,80,81,82,83],{"id":13,"depth":77,"text":14},{"id":21,"depth":77,"text":22},{"id":28,"depth":77,"text":29},{"id":54,"depth":77,"text":55},{"id":61,"depth":77,"text":62},"Projeto acadêmico","2026-07","API REST para pedidos multicanais, estoque por unidade e pagamentos simulados","md",true,{},"\u002Fwork\u002Fpt\u002Fraizes-do-nordeste-api","1","Desenvolvedor Back-End","featured",{"title":5,"description":86},{"loc":90},"work\u002Fpt\u002Fraizes-do-nordeste-api",[98,99,100,101,102,103],"Java","Spring Boot","REST","Spring Security","JPA","OpenAPI","\u002Fimg\u002Fwork\u002Fraizes-backend\u002Fcover-raizes-do-nordeste.png",2026,"vNWqu3r6EyWbHMBlEbOYUnWjSE76AewaZavD6jt8HqA",1785351610182]