This repository is a backend project based on Quarkus
and MongoDB
, which allows to manipulate todos, thanks to a CRUD API.
In order to run the application, you need to install java
and quarkus-cli
in your machine.
Please check the following documentation if it is not already the case:
- https://www.java.com/en/download/help/download_options.html (for java)
- https://quarkus.io/guides/cli-tooling (for quarkus-cli)
Then, you can run the backend in dev using:
quarkus dev
The application will be available in the port 8080.
Note that you can test the API using the postman collection located there.
Before starting the exercise, you should of course get familiar with Quarkus and MongoDB basics.
- As a first task, please edit the API so that we can filter by tag, without considering case matching and accents (ex: 'Santé' should match with 'sante'). Also, we would like to be able to specify multiple tags as a parameter.
- Then, add 3 users: 'Ewen' & 'Sebastien' (two regular users) and 'Nicolas', (an admin). A regular user should be able to add/modify/delete/get its own todos, while the administrator has full rights. Please update the resources and entities accordingly.
- Finally, refactor the application to use the hexagonal infrastructure. NB: Propose a system to make sure that there is no regression.
Good luck ! ;)