todo-api
Small api for a todo list made with laravel 8
Users can sign up and create tasks that can have many steps
This api is meant to be used for a desktop application and a mobile app
Project setup
git clone https://github.com/Ola-jed/todo-api.git
cd todo-api
# Create the database todo_api in your dbms
# The other configurations are done in this script
./setup.sh
# Run the tests
php artisan test
Endpoints
Method | Url | Action |
---|---|---|
POST | /signup | Register to the app |
POST | /signin | Login a user |
POST | /logout | Logout the user |
POST | /password-reset | Reset the user's password |
GET | /account | Get the user account information |
PUT | /account | Update the user's account |
DELETE | /account | Delete the account |
GET | /tasks | Get the tasks created by the user (pagination available) |
GET | /tasks/finished | Get all the finished tasks |
GET | /tasks/unfinished | Get all the tasks not yet finished |
GET | /tasks/expired | Retrieve tasks that are past their due date |
GET | /tasks/search/{title} | Search all the tasks corresponding to the title |
POST | /tasks | Create a new task |
GET | /tasks/{slug} | Get the corresponding task |
PUT | /tasks/{slug}/finish | Update the finish status of the task |
PUT | /tasks/{slug} | Update a task |
DELETE | /tasks/{slug} | Delete a task |
GET | /tasks/{slug}/steps | Get all steps of a task |
GET | /steps/{id} | Get a specific step |
PUT | /steps/{id} | Update a step |
PUT | /steps/{id}/finish | Set a step finished or not |
DELETE | /steps/{id} | Delete a step |
GET | /token-check | Check if the given token is valid for further requests |
TODO
- Job to notify the user when a task is due (Include firebase and fcm)
- Add docker support and deploy on Render