Click here for the English version
StellarCommerce é uma aplicação de vendas robusta e escalável, composta por quatro microserviços, cada um nomeado como um satélite de Saturno. Este projeto utiliza gRPC para comunicação entre os microserviços de usuários, produtos e vendas, e Kafka para transmitir informações de vendas para o serviço de relatórios. A API possui um gateway simples e está documentada com Swagger.
- Titan: Microserviço de usuários
- Mimas: Microserviço de produtos
- Telesto: Microserviço de vendas
- Dione: Microserviço de relatórios
Todos os microserviços estão organizados em um monorepo:
- Golang 1.22
- gRPC
- Kafka
- Docker
- Docker Compose
StellarCommerce/
├── titan/
├── mimas/
├── telesto/
├── dione/
├── kafka/
├── gateway/
├── makefile
└── README.md
- Docker e Docker Compose instalados.
- Golang 1.22 instalado.
- Make instalado.
- Clone o monorepo:
git clone https://github.com/jonattasmoraes/stellar_commerce.git
cd stellar_commerce
- Suba os containers com Docker Compose:
make run
- Acesse os microserviços:
- Titan (Usuários):
http://localhost:8081
- Mimas (Produtos):
http://localhost:8082
- Telesto (Vendas):
http://localhost:8083
- Dione (Relatórios):
http://localhost:8084
ou acesse a API Gateway:
- GateWay:
http://localhost:3000
Cada microserviço possui sua própria documentação da API, disponível nos respectivos repositórios:
Para executar os testes, navegue até o diretório do microserviço desejado e utilize o comando:
go test ./...
ou execute o makefile na raiz do monorepo:
make test
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
- Email: [email protected]
- LinkedIn: Jonattas-Moraes
StellarCommerce is a robust and scalable sales application composed of four microservices, each named after a satellite of Saturn. This project uses gRPC for communication between user, product, and sales microservices, and Kafka to transmit sales information to the reporting service. The API has a simple gateway and is documented with Swagger.
- Titan: User microservice
- Mimas: Product microservice
- Telesto: Sales microservice
- Dione: Reports microservice
All microservices are organized in a monorepo:
- Golang 1.22
- gRPC
- Kafka
- Docker
- Docker Compose
StellarCommerce/
├── titan/
├── mimas/
├── telesto/
├── dione/
├── kafka/
├── gateway/
├── makefile
└── README.md
- Docker e Docker Compose installed.
- Golang 1.22 installed.
- Make installed.
- Clone the monorepo:
git clone https://github.com/jonattasmoraes/golang-mservices.git
cd stellar_commerce
- Bring up the containers with Docker Compose:
make run
- Access the microservices:
- Titan (Users):
http://localhost:8081
- Mimas (Products):
http://localhost:8082
- Telesto (Sales):
http://localhost:8083
- Dione (Reports):
http://localhost:8084
or access the API Gateway:
- GateWay:
http://localhost:3000
Each microservice has its own API documentation available in their respective repositories:
To run tests, navigate to the desired microservice directory and use the command:
go test ./...
or run the makefile at the root of the monorepo:
make test
This project is licensed under the MIT License. See the LICENSE for details.
Contributions are welcome! Feel free to open issues and pull requests.
- Email: [email protected]
- LinkedIn: Jonattas-Moraes