Arquitetura da Solução
Visão de Alto Nível
Este documento apresenta a visão de arquitetura da solução proposta para o novo aplicativo móvel da CPTM. A arquitetura foi concebida para garantir escalabilidade, alta disponibilidade e flexibilidade, permitindo que novos serviços sejam adicionados sem grande impacto no sistema existente. Além disso, a separação de responsabilidades entre frontend, backend e camadas de persistência facilita manutenção, testes e evolução futura.
tip
A arquitetura deve permanecer agnóstica em termos de tecnologia, focando em estilos e padrões como microsserviços, camadas de apresentação e persistência, e comunicação assíncrona quando apropriado.
Explicação dos Componentes
- Frontend (Aplicativo Móvel): Interface responsiva e intuitiva, responsável pela interação direta com o usuário. Realiza chamadas à API para obtenção e envio de dados, exibindo notificações e atualizações em tempo real.
- API Gateway: Ponto de entrada único para todas as requisições do cliente, encaminhando-as aos serviços apropriados, aplicando autenticação, autorização, roteamento e políticas de CORS e rate limiting.
- Serviço de Autenticação: Encapsula lógica de login, emissão e renovação de tokens JWT, e verificação de permissões.
- Serviço de Dados: Concentra as regras de negócio e orquestra chamadas aos bancos de dados ou serviços externos, garantindo integridade e consistência das operações.
- Persistência:
- Banco Relacional: Armazenamento de dados transacionais (usuários, configurações, histórico de notificações).
- Serviços Externos: Integrações com provedores de mapas para geolocalização, sistemas de notificações push e outros serviços de terceiros.