- Our motivation we found in the problem while planing our tasks. We needed something that would plan and calculate stages of our tasks for us.
- So, we thought that is possible create a function which based on chooised by user start date and end date with help current date, will be calculate all needed informations and show data on charts. To sum up, the most important thing in all this are calculations based on 3 dates and after all calculations our application show user his progress, finished days, future days and how much he must to do in chooised task.
AUTORS | FRONTEND | BACKEND |
---|---|---|
GabrielJuniorDev (Gabrli) | ||
gental-py (gental-py) |
- Dark mode:
![](https://private-user-images.githubusercontent.com/110058841/317826376-030b5434-2656-4214-8fdc-e40a8c4c2e90.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxNjE0OTMsIm5iZiI6MTcyNDE2MTE5MywicGF0aCI6Ii8xMTAwNTg4NDEvMzE3ODI2Mzc2LTAzMGI1NDM0LTI2NTYtNDIxNC04ZmRjLWU0MGE4YzRjMmU5MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMFQxMzM5NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MmEyNzkxNDRkNDAwOWE3YjkzYmU4NDE4NjY4MmUzZTNkMDg3NWJhMGNjZDdlZjUyMWZkNGYwZWM3MzQ3YmEwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.V5H3UQxGupTDMBRBt-z2jiNc8_rvjBHMxfzUT6Dh-A0)
![](https://private-user-images.githubusercontent.com/110058841/317829258-5dcce7b0-5bd4-42d8-a649-566996649ad3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxNjE0OTMsIm5iZiI6MTcyNDE2MTE5MywicGF0aCI6Ii8xMTAwNTg4NDEvMzE3ODI5MjU4LTVkY2NlN2IwLTViZDQtNDJkOC1hNjQ5LTU2Njk5NjY0OWFkMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMFQxMzM5NTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00N2QyMTlkNzY3ODIwZTc1ZTE5YTNkYTZhNDg1ODFmMTE3YTYwYzUzNzcwMjM2OGM1MGE1YjVkYzA1MzFjNDFmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.gCZ0xNQg5Ew4rzxofxlC-2wf2WfgruWn_BXR2Vn489k)
Every response is in JSON
format and has a "status"
key with a boolean value.
When the value is True
, the action succeeded,
and additional data may be passed by response
(check the DATA ON SUCCESS column for details).
When the value is False
, the required action failed,
and the response will contain "err_msg"
with
an error message in a displayable form.
All endpoints are POST methods
(except /accounts/getAllNames
which is GET)
ENDPOINT | INPUT DATA | DATA ON SUCCESS |
---|---|---|
/accounts/login |
username , password |
uid: str |
/accounts/register |
username , password , email |
uid: str |
/accounts/delete |
uid |
- |
/accounts/changePassword |
uid , new |
- |
/accounts/getAllNames |
names: List[string] |
|
/tasks/create |
uid , name , description , date_start , date_end , Optional: folder_key |
task_id: str |
/tasks/edit |
uid , task_id name , description , date_start , date_end |
- |
/tasks/remove |
uid , task_id |
- |
/tasks/getAll |
uid |
tasks: List[object] [{ name , description , date_start , date_end , task_id }, {...},...] |
/tasks/getTask |
uid , task_id |
task: object { name , description , date_start , date_end , task_id } |
/folders/create |
uid , name , color |
folder_key: str |
/folders/get_folder |
uid , folder_key |
folder: object { author: str , name: str , color: str , task_ids: List[str] } |
/folders/update |
uid , folder_key , new_name , new_color |
- |
/folders/remove |
uid , folder_key |
- |
/folders/add_task |
uid , folder_key , task_id |
- |
/folders/remove_task |
uid , folder_key , task_id |
- |
-
Make sure You have
Python
andpip
installed. -
Install all requirements:
pip3 install -r requirements.txt
-
Run API locally:
python3 -m uvicorn api:api
-
Deploy API:
python3 -m uvicorn api:api --host 0.0.0.0 --port YOUR_PORT