The main challenge is to implement the backend for a simple todo list. There are some BONUS points that are optional, if you have time to do them they are welcomed. ● Use Java with any framework you'd like. ● The protocol for endpoints should be JSON over HTTP. ● Use Postgres for persistence. ● BONUS #1: having the application running on a docker container.
For this implementation, please match the restrictions that follow. In cases where no restrictions are stated, feel free to implement what you think is appropriate.
The only model object is the TODO, that represents an item of text that is completable:
TODO { id: Long title: String completed: Boolean }
The API should implement the following endpoints:
GET / # Lists all TODOs PUT / # Create a new TODO
GET /todo/:id # Get TODO PATCH /todo/:id # Update TODO DELETE /todo/:id # Delete TODO
When retrieving/modifying/creating a TODO, your application should return a JSON with the full information of the object(s).
BONUS #2: Add/change the model and API endpoints to Introduce support for a USER concept, where a TODO is always owned by a USER "