Segurança
- Autenticação stateless com JWT e senhas protegidas com BCrypt
- RBAC, CORS explícito e checagem de propriedade do recurso
Projeto autoral · Gestão de suporte
Sistema de gestão de chamados para dar rastreabilidade, prioridades e contexto ao atendimento de TI.
Um chamado, do início ao histórico.
Usuário e equipe técnica acompanham o mesmo fluxo.
Projeto autoral desenvolvido a partir de um cenário corporativo recorrente: solicitações informais tornam o atendimento difícil de acompanhar e de priorizar.
Organizar o ciclo do chamado sem transferir complexidade para quem precisa de suporte.
Problema e solução
Pedidos espalhados, pouca visibilidade sobre o status e ausência de histórico confiável reduzem a capacidade da equipe de operar com previsibilidade.
Uma aplicação web com perfis de acesso, fluxo de chamados, histórico e dados operacionais centralizados em uma API protegida.
Arquitetura
Backend REST em Java 21 e Spring Boot 4, em camadas de controllers, services e repositories. O acesso é protegido por Spring Security com JWT; dados são persistidos com JPA em PostgreSQL e evoluem por migrations do Flyway. O cliente usa React, TypeScript, Vite, React Router e TanStack Query. Os serviços podem ser executados juntos com Docker Compose.
Destaques de engenharia
Decisões e trade-offs
Versiona o banco junto do código e reduz divergências entre ambientes.
Valida a integração com PostgreSQL em testes, sem simular a infraestrutura principal.
Mantém a API stateless e permite aplicar as regras de acesso em cada requisição.
Cria um caminho reproduzível para executar os serviços localmente.
A solução permanece como uma aplicação em camadas, com módulos integrados no mesmo backend. Para este domínio, isso concentra a complexidade operacional e mantém o fluxo mais simples de testar e evoluir; serviços separados fariam sentido apenas com necessidades claras de escala ou independência.
Minha participação