This is an open project to conclude a trail for a Intern formation at Instituto Altântico.
This is a project that simulates a subscription service, with registration, purchase, cancel and recover of a subscription. I've used the microservices architecture to build it and did the communication among the services with a message broker. There is also a microservice to consume these subscriptions changes and persist the data and then produce a message to message broker that will be consumed by a notification microservice that send the changes to user email.
- RabbitMQ
- SpringBoot
- Postgres
- Keycloak
- Docker
$ mvn clean install
After building the project using Maven, you'll need to build the container using Docker or Docker Compose.
To build the project withh all its linked services (Postgres and Microservice):
$ docker-compose up --build
docker images
docker ps
docker exec -it ${containerName} bash
- API Rest
- Message broker
- Microservice to persist data
- Unit tests (Subs-api)
- Unit tests (Email-api)
- Unit tests (consumer-microservice)
- Functional tests
- Microservice to notify subscription change
- Keycloak
- Swagger API Documentation
- Elastic Stack for Logging
- CI/CD Pipelines