Skip to content

Aplicativo de e-commerce chamado "best-commerce" utilizando o framework Springboot em Java

Notifications You must be signed in to change notification settings

joosecj/best-commerce-ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 

Repository files navigation

Best-Commerce

O desenvolvimento de um aplicativo de e-commerce chamado "best-commerce" utilizando o framework Springboot em Java. Para melhorar a eficiência, segurança e qualidade do sistema, segui as melhores práticas de desenvolvimento em Java e Springboot, utilizando diversas tecnologias.

Para garantir uma maior flexibilidade e separação de responsabilidades, utilizei DTO em vez de DAO para trafegar os dados entre as camadas, seguindo uma arquitetura em camadas padrão, incluindo as camadas de repository, service e controller, além das entidades do modelo.

Para simplificar o acesso aos dados do banco de dados, utilizei o Spring Data JPA, um módulo do Spring que oferece uma implementação padrão das interfaces repository. Além disso, utilizei o Docker para rodar o banco de dados PostgreSQL e o PGAdmin, e para empacotar a API em um contêiner Docker, garantindo uma maior facilidade de implantação e portabilidade do aplicativo.

Para garantir a segurança da aplicação, implementei a autenticação do usuário usando o Spring Security, e configurei perfis para os ambientes de desenvolvimento e de teste. No ambiente de desenvolvimento, utilizei o banco de dados PostgreSQL, enquanto no ambiente de teste, utilizei o banco de dados H2.

O modelo de dados do aplicativo consistiu nas entidades Usuário, Pedido, Loja, Produto e Categoria, e utilizei um diagrama conceitual para visualizar a relação entre essas entidades. Para documentar os endpoints da API, utilizei o Swagger UI.

Além disso, para garantir a qualidade do código, criei testes unitários em algumas camadas do sistema, incluindo as camadas de serviço. Também adicionei o tratamento de erros personalizados, que é extremamente importante em uma aplicação de e-commerce, pois pode ajudar a identificar e corrigir problemas rapidamente, reduzindo o impacto sobre os usuários e evitando perda de vendas.

Em resumo, o objetivo do meu trabalho foi criar um aplicativo de e-commerce funcional e escalável, seguindo as melhores práticas de desenvolvimento em Java e Springboot, e utilizando tecnologias como Docker, DTO, Swagger UI, testes unitários e tratamento de erros personalizados para melhorar a eficiência, segurança e qualidade do sistema.

Veja o projeto

Experimente live demo completa:

Bakcend

Como criar e executar o Best-Commerce localmente

Criar e executar o projeto em seu ambiente de desenvolvimento local é muito fácil. Certifique-se de ter o Git, JDK17, Maven e Docker(No uso do docker não e necessario a instalação da JDK17 e Maven) instalados e siga as instruções abaixo. Precisa de informações adicionais? entre em contato no e-mail [email protected]. (Estas instruções pressupõem que você esteja instalando como um usuário root.)

Backend - Via Docker

  1. Clone o código fonte

    git clone [email protected]:joosecj/best-commerce-ws.git
  2. Navegue até a pasta backend:

    cd backend
  3. Execute os comandos:

    docker compose up -d
  4. Ao executar o projeto, pode ser acessado um navegador da Web em http://IP CONTAINER:8080:

  • Obs: para descobrir o IP do container, digite o comando a seguir:

    docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' api-bestcommerce
  1. Interfaçe do Swagger UI para utilizar/testar os endpoints:

    http://IPCONTAINER:8080/swagger-ui/index.html
  2. Documentação do Swagger contendo todos os endpoints que pode ser importada para o postman e fazer as requisições GET/PUT/DELETE E UPDATE.

  • Obs: projeto precisa está em execução.

    http://IPCONTAINER:8080/v3/api-docs
  1. Todos os locais que estão localhost:8080, substitua para IP CONTAINER:8080

Backend - Via terminal

  1. Clone o código fonte

    git clone [email protected]:joosecj/best-commerce-ws.git
  2. Navegue até a pasta backend.

    cd backend
  3. Execute o comando:

    • Obs: para alterar o perfil, só alterar o test para dev, sendo que ambiente de dev necessita do banco de dados PosgreSQL já o test roda com banco H2 em memoria.
     ./mvnw spring-boot:run -Dspring.profiles.active=test
  4. Ao executar o projeto, pode ser acessado um navegador da Web em http://localhost:8080/

  5. Interfaçe do Swagger UI para utilizar/testar os endpoints aqui.

  6. Documentação do Swagger contendo todos os endpoints que pode ser importada para o postman e fazer as requisições GET/PUT/DELETE E UPDATE, através do link. Obs: projeto precisa está em execução.

Usuário para logar no sistema:

  - email: [email protected]
  - senha: admin123

Respostas com as demais perguntas do questionario aqui.

Tecnologias utlizadas:

Ferramentas:

Autor: José Carlos

Jose-Js

About

Aplicativo de e-commerce chamado "best-commerce" utilizando o framework Springboot em Java

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published