Skip to content

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.

Notifications You must be signed in to change notification settings

jonattasmoraes/stellarcommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Click here for the English version

Banner

📦 StellarCommerce: A sales application

License Go gRPC Kafka Docker Build Tests Coverage

📝 Descrição

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.

🚀 Microserviços

🌐 Monorepo

Todos os microserviços estão organizados em um monorepo:

🛠️ Tecnologias Utilizadas

  • Golang 1.22
  • gRPC
  • Kafka
  • Docker
  • Docker Compose

📂 Estrutura do Projeto

StellarCommerce/
├── titan/
├── mimas/
├── telesto/
├── dione/
├── kafka/
├── gateway/
├── makefile
└── README.md

⚙️ Configuração e Execução

Pré-requisitos

  • Docker e Docker Compose instalados.
  • Golang 1.22 instalado.
  • Make instalado.

Passo a Passo

  1. Clone o monorepo:
git clone https://github.com/jonattasmoraes/stellar_commerce.git
cd stellar_commerce
  1. Suba os containers com Docker Compose:
make run
  1. 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

📖 Documentação da API

Cada microserviço possui sua própria documentação da API, disponível nos respectivos repositórios:

🧪 Testes

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

📄 Licença

Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

🤝 Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.

📧 Contato

---

Banner

📦 StellarCommerce: A sales application(English Version)

License Go gRPC Kafka Docker Build Tests Coverage

📝 Description

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.

🚀 Microservices

🌐 Monorepo

All microservices are organized in a monorepo:

🛠️ Technologies Used

  • Golang 1.22
  • gRPC
  • Kafka
  • Docker
  • Docker Compose

📂 Project Structure

StellarCommerce/
├── titan/
├── mimas/
├── telesto/
├── dione/
├── kafka/
├── gateway/
├── makefile
└── README.md

⚙️ Setup and Execution

Prerequisites

  • Docker e Docker Compose installed.
  • Golang 1.22 installed.
  • Make installed.

Steps

  1. Clone the monorepo:
git clone https://github.com/jonattasmoraes/golang-mservices.git
cd stellar_commerce
  1. Bring up the containers with Docker Compose:
make run
  1. 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

📖 API Documentation

Each microservice has its own API documentation available in their respective repositories:

🧪 Tests

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

📄 License

This project is licensed under the MIT License. See the LICENSE for details.

🤝 Contribution

Contributions are welcome! Feel free to open issues and pull requests.

📧 Contact

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published