Para clonar o repositório, execute o comando abaixo:
git clone https://github.com/guilhermemarch/events-and-tickets-management.gitEste projeto é composto por dois microsserviços principais:
- event-manager: Gerencia os eventos (CRUD).
- ticket-manager: Gerencia os ingressos, vinculando-os aos eventos.
Os microsserviços são integrados via RabbitMQ para mensagens assíncronas e utilizam Docker para simplificar o ambiente de desenvolvimento.
Certifique-se de que as seguintes ferramentas estão instaladas:
- Docker e Docker Compose
- Java 17+
- Maven
- MongoDB Atlas
Utilize o arquivo docker-compose.yml para inicializar os serviços.
- Certifique-se de que está no diretório raiz do projeto.
- Execute o comando abaixo:
docker-compose up --build
- Acesse os serviços:
- RabbitMQ Management: http://localhost:15672 (Usuário/Senha: guest/guest)
- event-manager: http://localhost:8080
- ticket-manager: http://localhost:8081
- Crie a base de dados chamada
scholarship-ship-desafio3no MongoDB Atlas e assegure que a conexão esteja ativa. - Faça o download dos métodos para testes no Postman: Coleção de metodos PostMan.
- O projeto também foi implantado na AWS, garantindo alta disponibilidade e escalabilidade. Caso seja necessario acessar esse ambiente, é necessario alterar o endereço e porta de acordo com o IP no AWS. (IP AWS: http://3.21.159.74)
├── ms-event-manager
│ ├── src/main/java/ -- microsserviço de eventos
│ ├── Dockerfile
│
├── ms-ticket-manager
│ ├── src/main/java/ -- microsserviço de ingressos
│ ├── Dockerfile
│
├── docker-compose.yml
└── README.md
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /create-event |
Criar evento |
| GET | /get-event/{id} |
Buscar evento por ID |
| GET | /get-all-events |
Listar todos os eventos |
| PUT | /update-event/{id} |
Atualizar evento por ID |
| DELETE | /delete-event/{id} |
Deletar evento por ID |
| GET | /get-all-events-sorted |
Listar todos os eventos por ordem alfabética |
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /create-ticket |
Criar ingresso |
| GET | /get-ticket/{id} |
Buscar ingresso por ID |
| DELETE | /cancel-ticket/{id} |
Cancelar ingresso por ID |
| PUT | /update-ticket/{id} |
Atualizar ingresso por ID |
| GET | /get-tickets-event/{id} |
Buscar ingressos por ID de evento |
Os microsserviços se comunicam via RabbitMQ para enviar um email de confirmação. Exemplo:
- Quando um ingresso é criado, o
ticket-managerpublica uma mensagem no RabbitMQ e oemailConsumerfinaliza o email.
Olá, Guilherme Marschall! Seu ticket para o evento 'Show da Xuxa' na cidade de São Paulo, na data 2024-12-30T21:00:00, foi criado com sucesso.
Detalhes do Ticket:
Evento: Show da Xuxa
Cidade: São Paulo
Data: 2024-12-30T21:00:00
ID do Ticket: 677693637a48fe0b12324e16
Status: ACTIVE
Agradecemos por comprar conosco!