Skip to main content

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.

Diagrama de arquitetura de alto nível mostrando a interação entre o frontend, API Gateway, serviços de autenticação, serviços de dados, persistência e serviços externos.

Explicação dos Componentes

  1. 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.
  2. 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.
  3. Serviço de Autenticação: Encapsula lógica de login, emissão e renovação de tokens JWT, e verificação de permissões.
  4. 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.
  5. Persistência:
    • Banco Relacional: Armazenamento de dados transacionais (usuários, configurações, histórico de notificações).
  6. Serviços Externos: Integrações com provedores de mapas para geolocalização, sistemas de notificações push e outros serviços de terceiros.