Sistema para gerenciamento de um café, com integração a dois microsserviços responsáveis pela comunicação com o cliente:
email-service: envia e-mails de boas-vindas via SMTP (Gmail)
sms-service: envia SMS com atualizações de pedido via AWS SNS (Simple Notification Service)
- Gerenciamento do café: criação de cardápio e produtos pelos administradores.
- Gerenciamento de pedidos: atualização de status dos pedidos pelos administradores.
- Envio de e-mail de boas-vindas: para novos usuários, via email-service.
- Envio de SMS com atualizações de pedido: para usuários, via sms-service.
- Linguagem: Java
- Framework: Spring Boot
- Gerenciador de Dependências: Maven
- Banco de Dados: PostgreSQL
- Migrations: Flyway
- Conversão de Objetos: Mapstruct
- Anotações: Lombok
- Autenticação: JWT (JSON Web Token)
- Testes Unitários: JUnit e Mockito
- Mensageria: RabbitMQ
- Broker na Nuvem: Cloud AMQP
- Serviço de SMS: Amazon SNS
- Serviço de E-mail: SMTP Gmail
- Documentação: SwaggerUI
- Documentação local: http://localhost:8080/swagger-ui/index.html
- O usuário é criado.
- Um e-mail de boas-vindas é enviado (email-service).
- Um pedido é criado pelo usuário.
- O status do pedido é atualizado pelo administrador.
- Um SMS é enviado ao usuário com a atualização do pedido (sms-service).
Pré-requisitos:
- Java 17
- Maven
- PostgreSQL
- RabbitMQ (CloudAMQP)
- Conta na AWS (Amazon SNS)
- Credenciais de servidor de e-mail (SMTP Gmail)
Passos para Configuração:
- Clone o repositório
- Acesse o diretório do projeto
- Configure o banco de dados no arquivo
application.yml
(URL, usuário, senha) - Configure o RabbitMQ (CloudAMQP) no arquivo
application.yml
- Configure a AWS SNS com suas credenciais no arquivo
application.yml
- Configure as credenciais do servidor de e-mail (SMTP Gmail) no arquivo
application.yml
(host, porta, usuário e senha)
# Execute a aplicação
mvn spring-boot:run
# Pressione (CTRL + C) para encerrar a aplicação
👩💻 Projeto desenvolvido por Isabel Henrique
🤝 Fique à vontade para contribuir!