Code challenge related to creating an API that supports requests for to do list app.
This project was built using the technologies below:
- Java 11
- Postgresql
- Vert.x
- Graylog
- Microprofile
- Docker
- Flyway
- Quarkus
- Debezium
- Mapstruct
- Testcontainers
- Apache kafka
- Keycloak
- Maven
This project contains two microservices: register and todo.
The register microservice is responsible for CRUD operations related of Teams, CRUD operations related of Shared To Do Lists and user association a team.
The todo microservice is responsible for CRUD of Notes, set favorite notes and set notes how done.
In this project, we have two administrative profiles. the profile administrator is responsible for create shared to do lists and associate a user in a team on register microservice and this profile has all permissions of the second administrative profile, the user, this profile is responsible for create notes and access the shared to do lists of the team the user is associated with.
The keycloak is the solution responsible for register an user and set the permissions this.
Graylog is the solution for centralized application logging.
jaeger is the solution for analyzing application requests.
deebzium is the solution for sending operations done on tables that are in the postgres database to kafka.
Graylog is the solution for centralized application logging.
jaeger is the solution for analyzing application requests.
debezium is the solution for sending operations done on tables that are in the postgres database to kafka. this operations are integrated in all microservices.
Document for a best visualization
- docker
- docker-compose
- maven
- java 11
for execute this application run the command below to execute Microservices
$ chmod +x startup.sh
$ ./start.sh
Copyright Antonio Pedro Ferreira.
Released under an MIT License.