Loading repository data…
Loading repository data…
NoClick11 / repository
Projeto de e-commerce com arquitetura de microserviços orientada a eventos. Desenvolvido com Java, Spring Boot e RabbitMQ para demonstrar a comunicação assíncrona e desacoplada. Orquestrado com Docker.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Este projeto demonstra uma arquitetura de microserviços orientada a eventos, utilizando Spring Boot para os serviços backend e RabbitMQ para comunicação assíncrona. O objetivo é simular um fluxo básico de processamento de pedidos em um e-commerce.
O sistema é composto por dois microserviços independentes que se comunicam através de um broker de mensagens (RabbitMQ), garantindo baixo acoplamento e resiliência.
order-service:
OrderCreated no RabbitMQ para processamento assíncrono.notification-service:
OrderCreated do RabbitMQ.Siga os passos abaixo para subir e testar a aplicação em sua máquina local.
git clone [https://github.com/](https://github.com/)[SEU_USUARIO]/sistema-ecommerce.git
cd sistema-ecommerce
Na raiz do projeto (sistema-ecommerce), execute o Docker Compose para subir o container do RabbitMQ:
docker-compose up -d
Verifique se o RabbitMQ está rodando acessando o painel de gerenciamento em: http://localhost:15672
Credenciais: user / password
Abra o projeto sistema-ecommerce em sua IDE (IntelliJ IDEA, por exemplo). O projeto será reconhecido como um projeto multi-módulo Maven.
Inicie individualmente as classes principais de cada serviço:
OrderServiceApplication (dentro de order-service)
NotificationServiceApplication (dentro de notification-service)
Alternativamente, você pode usar o Maven para construir e rodar cada serviço a partir de suas respectivas pastas:
# Na pasta 'sistema-ecommerce/order-service'
mvn spring-boot:run
# Na pasta 'sistema-ecommerce/notification-service' (em outro terminal)
mvn spring-boot:run
Após todos os serviços estarem rodando:
Método: POST
Headers:
Content-Type: application/json
Body (JSON - raw):
JSON
{
"orderId": "PED-001-XYZ",
"customerName": "Ana Paula",
"totalValue": 125.50
}
No console/terminal onde o order-service está rodando, você verá uma mensagem indicando que o pedido foi recebido e enviado para a fila.
No console/terminal onde o notification-service está rodando, você verá uma mensagem indicando que o pedido foi consumido e a simulação de envio de e-mail.
Acesse a documentação interativa do order-service via Swagger UI: http://localhost:8080/swagger-ui/index.html
GitHub: https://github.com/NoClick11