Este é um projeto de exemplo que demonstra como criar uma arquitetura de microservices usando o Spring Boot e o Spring Cloud. Este projeto é composto por vários serviços independentes que trabalham juntos para fornecer uma funcionalidade completa.
O objetivo deste projeto é criar uma aplicação de e-commerce de exemplo, que consiste em vários microservices para diferentes funcionalidades, incluindo:
- 🔐Serviço de Autenticação: Gerencia a autenticação e autorização dos usuários.
- 📚Serviço de Catálogo: Gerencia informações de produtos.
- 🚗Serviço de Carrinho de Compras: Gerencia o carrinho de compras dos usuários.
- 📝Serviço de Pedidos: Processa e gerencia pedidos de clientes.
- 💳Serviço de Pagamentos: Gerencia o processamento de pagamentos.
Antes de começar, certifique-se de ter as seguintes ferramentas e tecnologias instaladas em seu ambiente de desenvolvimento:
-
Ter experiência com a linguagem Java e seus recursos básicos, como classes, objetos, interfaces, herança, polimorfismo, exceções, coleções e generics
-
Ter conhecimento de SQL e acesso a um banco de dados relacional, como MySQL, PostgreSQL ou H2
-
Ter uma IDE de desenvolvimento, como Eclipse, IntelliJ IDEA ou Visual Studio Code
-
Ter um gerenciador de dependências, como Maven ou Gradle
Java: A linguagem de programação Java para desenvolvimento backend.
Maven: Gerenciador de Dependências.
- Java Development Kit (JDK) 11 ou superior
- Maven
- Spring Boot
- Spring Cloud
Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.
https://github.com/DaniloADamasceno/Microservices-with-Spring-Boot-and-Spring-CloudPara cada serviço individual, você precisará entrar no diretório do serviço e construí-lo usando o Maven. Por exemplo, para construir o Serviço de Autenticação, execute os seguintes comandos:
cd authentication-service
mvn clean install
mvn spring-boot:runRepita esse processo para cada serviço.
A documentação completa da API para cada serviço pode ser encontrada nos seguintes endpoints:
- 🔐 Serviço de Autenticação: http://localhost:8080/swagger-ui.html
- 📚 Serviço de Catálogo: http://localhost:8081/swagger-ui.html
- 🚗 Serviço de Carrinho de Compras: http://localhost:8082/swagger-ui.html
- 📝 Serviço de Pedidos: http://localhost:8083/swagger-ui.html
- 💳 Serviço de Pagamentos: http://localhost:8084/swagger-ui.html
Você pode usar esses endpoints para interagir com os serviços e testar as várias funcionalidades.
Este é um projeto de código aberto e estou aberto a contribuições da comunidade. Se desejar contribuir para este projeto, siga estas etapas:
- Faça um fork do repositório.
- Crie um branch para sua feature ou correção de bug: git checkout -b minha-feature.
- Faça suas alterações e adicione suas melhorias.
- Commit suas alterações: git commit -m 'Adicionando nova feature'.
- Envie para o branch principal do repositório original: git push origin main.
- Abra um pull request no GitHub.
Back-end:
Banco de Dados:
Mencione todos aqueles que ajudaram a levantar o projeto desde o seu início
- Desenvolvedor - @Danilo A. Damasceno
- Documentação - @Danilo A. Damasceno