Skip to content

Latest commit

 

History

History
64 lines (48 loc) · 3.65 KB

Desafios.md

File metadata and controls

64 lines (48 loc) · 3.65 KB

Melhorias Propostas para o Projeto de Carrinho de Compras

A seguir, apresentamos algumas propostas de melhorias para o serviço de gerenciamento de carrinho de compras. Essas melhorias visam aumentar a robustez, a escalabilidade, e a documentação do projeto, preparando-o para um ambiente de produção real.


🔗 Índice

  1. Propostas de Melhoria
  2. Referências

📈 Propostas de Melhoria

Swagger para Documentação de API

  • Objetivo: Adicionar o Swagger ao projeto para gerar uma documentação interativa da API.
  • Benefícios: Facilita o entendimento da API para outros desenvolvedores, além de permitir a realização de testes diretamente pela interface do Swagger.
  • Como fazer:
    • Adicionar a dependência springfox-swagger2 e springfox-swagger-ui no pom.xml.
    • Configurar o Swagger em uma classe de configuração no Spring Boot.
    • Personalizar o Swagger para tornar a documentação mais rica.
  • Referência: Springfox Swagger Documentation

Testes Automatizados

  • Objetivo: Implementar testes unitários e de integração para garantir a qualidade e a estabilidade do código.
  • Benefícios: Reduz o risco de falhas e facilita a manutenção do sistema.
  • Como fazer:
    • Usar o JUnit para testes unitários e o Spring Boot Test para testes de integração.
    • Adicionar mocks utilizando Mockito para simular a comunicação com a API externa e o banco de dados.
    • Criar testes para todas as funcionalidades principais do carrinho de compras.
  • Referência: Guia de Testes no Spring Boot

Deploy na EC2

  • Objetivo: Fazer o deploy do projeto em uma instância EC2 na AWS para testar a escalabilidade e o comportamento em um ambiente de produção.
  • Benefícios: Garante que o serviço esteja disponível de forma escalável, além de permitir o aprendizado prático de deploy em nuvem.
  • Como fazer:
    • Criar uma instância EC2 com o Amazon Linux 2 ou Ubuntu.
    • Instalar Docker e rodar os contêineres de Redis, MongoDB e o aplicativo Java.
    • Configurar um serviço do Elastic Load Balancer (ELB) para balanceamento de carga.
  • Referência: Documentação AWS EC2

Referências

Aqui estão algumas referências úteis para aprofundar o seu conhecimento nas ferramentas e frameworks utilizados:

  • JUnit 5 Documentation
    Guia de usuário oficial para JUnit 5, o framework de testes para Java.

  • Mockito Documentation
    Site oficial do Mockito, uma popular biblioteca de mocking para testes em Java.

  • Spring Boot Test Documentation
    Documentação oficial do Spring Boot para testes, cobrindo as melhores práticas e recursos para realizar testes de integração, unitários e de comportamento.

  • Spring MockMvc Documentation
    Guia de MockMvc no Spring Framework, ferramenta para realizar testes de APIs RESTful.

  • Maven Documentation
    Guia de uso e instalação do Maven, uma ferramenta essencial para a automação da construção e gestão de dependências em projetos Java. o e instalação do Maven.