This project is developed as part of learning from Fast API udemy course from Eric Roby. I have deployed this app for free in render.com (Fast API) and elephantsql.com (PostgreSQL DB) to use this app in action go to : ToDosApp Let me know your todos ;)
- This API has User login / Registration page / logout , where user's password are stored as Hashes in Database
- JWT authentication is used , token stored in cookies.
- CRUD operations for To Do List
- PostgreSQL for Database
- Time zone information is fetched from javascript and sent as cookie to backend server where token , refresh token are set based on that so works for users across different Timezones
- command for starting the app : gunicorn -w 2 -k uvicorn.workers.UvicornWorker main:app
- to deploy app in docker here are the following commands
- docker login {server} -u {username} -p {password}
- docker build -t {server}/{appname}:build-tag-{}
- docker push {server}/{appname}:build-tag-{}
Tools : PyCharm , pgAdmin , MySQL , Postman
Front End: HTML , CSS , Bootstrap
Back End: Uvicorn , Fast API , Pydantic , PostgreSQL , SQL Alchemy , JWT authentication
To deploy this project run
uvicorn main:app --reload --port 5000 GET /auth/register POST /auth/register GET /auth/logout POST /auth/refresh-token POST /auth GET /todos GET todos/add-todo POST todos/add-todo GET todos/edit-todo/{todo_id} POST todos/edit-todo/{todo_id} GET todos/delete/{todo_id} GET todos/complete/{todo_id} GET users/edit-password POST users/edit-password