Skip to content

isinhah/seu-cafezinho

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 

Repository files navigation

☕ Seu Cafézinho

📄 Descrição

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)


⚙️ Funcionalidades

  • 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.

🛠️ Tecnologias

  • 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

📝 Endpoints


📈 Diagramas

    Diagrama de Entidade-Relacionamento     Diagrama de Entidade-Relacionamento
    Diagrama de Mensageria     Diagrama de Mensageria

🗂️ Imagens do Projeto

    Envio de Email     Exemplo do Email
    Envio de SMS     Exemplo de SMS

➡️ Fluxo da Aplicação

  1. O usuário é criado.
  2. Um e-mail de boas-vindas é enviado (email-service).
  3. Um pedido é criado pelo usuário.
  4. O status do pedido é atualizado pelo administrador.
  5. Um SMS é enviado ao usuário com a atualização do pedido (sms-service).

⚙️ Configuração e Execução

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:

  1. Clone o repositório
  2. Acesse o diretório do projeto
  3. Configure o banco de dados no arquivo application.yml (URL, usuário, senha)
  4. Configure o RabbitMQ (CloudAMQP) no arquivo application.yml
  5. Configure a AWS SNS com suas credenciais no arquivo application.yml
  6. 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

🙋‍♀️ Autor

👩‍💻 Projeto desenvolvido por Isabel Henrique

🤝 Fique à vontade para contribuir!

About

Sistema de gestão de pedidos de um café com microsserviços para envio de E-mail e SMS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages