🏛️ Módulo 6: Análise Arquitetural e Próximos Passos

📈 O Que Foi Melhorado?

🔭 Sugestões para o Futuro

  1. Testes Automatizados: Esta é a melhoria mais impactante a ser feita.
    • Backend: Adicionar testes unitários para a camada de serviço (com JUnit/Mockito) para validar a lógica de negócio sem precisar subir a aplicação. Adicionar testes de integração (com @SpringBootTest) para validar os endpoints do controlador.
    • Frontend: Implementar testes de componentes no Angular (com Jest ou Karma/Jasmine) para garantir que a UI se comporta como esperado.
  2. Containerização (Docker):
    • Criar um Dockerfile para a API Spring Boot.
    • Criar um arquivo docker-compose.yml para orquestrar a subida da API e, futuramente, de um banco de dados persistente como PostgreSQL. Isso garante um ambiente de desenvolvimento e produção consistente e isolado.
  3. CI/CD (Integração e Entrega Contínua):
    • Configurar um pipeline em ferramentas como GitHub Actions para, a cada push no repositório:
      1. Executar os testes automatizados.
      2. Construir os artefatos (JAR da API, build do Angular).
      3. Publicar a imagem Docker da API em um registro (como o Docker Hub).
  4. Segurança:
    • A API está totalmente aberta. Implementar segurança com Spring Security e JWT (JSON Web Tokens) para proteger os endpoints, exigindo autenticação para realizar operações de escrita (POST, PUT, DELETE). Os clientes precisariam ser adaptados para armazenar o token e enviá-lo a cada requisição.