Este projeto foi desenvolvido como parte do curso Working with Microservices in Go (Golang), ministrado pelo professor Trevor Sawler.
O objetivo é estudar a construção de microsserviços em Go, criando serviços independentes, de baixa acoplagem, que se comunicam entre si e com um front-end via API REST. A comunicação entre os microsserviços é feita utilizando JSON, RPC, gRPC, e também via mensageria AMQP com RabbitMQ.
- Front-end: interface simples para testes de funcionalidades
- Broker: ponto de entrada principal para o cluster de microsserviços
- Serviço de Autenticação: usa PostgreSQL para autenticar usuários
- Serviço de Logs: registra atividades em um banco MongoDB
- Listener: escuta mensagens no RabbitMQ e executa ações baseadas no payload
- Serviço de E-mail: recebe payloads em JSON, formata e envia e-mails
- Clone este repositório
- Na pasta project, execute o comando:
- No Linux:
make up_build
- No Windows
make -f Makefile.windows up_build