Skip to content

Latest commit

 

History

History
123 lines (77 loc) · 3.33 KB

README.md

File metadata and controls

123 lines (77 loc) · 3.33 KB

TaskGuardian

Welcome to the TaskGuardian Repository. This is an API that is built to manage tasks by admins and users. The Key features include secure authentication and use of mails to notify the users about their tasks and also for authentication purposes.

Features

  • User registration
  • User verification via email
  • Admin registration
  • Admin verification via email
  • Issue Tasks to users followed by emails
  • Update the assignees of each task followed by emails

API Documentation

Admin Routes

POST /admin/signup

Signup for the admin users.

POST /admin/generate-otp

Generates OTP to the user account for secure admin authentication.

POST /admin/verify-otp

Verifies OTP with the one sent to the Email.

POST /admin/create-task

Note

This route requires a JWT Token

Route for creating a task and assigning a user.

DELETE /admin/delete-task

Note

This route requires a JWT Token

Route for admin to delete a task.

PUT /admin/update-task

Note

This route requires a JWT Token

Route for admin to update a task and its users. If the assignee is changed an email is sent to the new assignee.

User Routes

POST /users/signup

Signup for the users.

POST /users/generate-otp

Generates OTP to the user account for secure user authentication.

GET /users/login

For secure and passwordless authentication with your google account.

GET /users/auth

For finding out the user information from google and getting an access token for otp generation.

POST /users/verify-otp

Verifies OTP with the one sent to the Email.

GET /users/user

Note

This route requires a JWT Token

Get the information about the user.

GET /users/tasks

Note

This route requires a JWT Token Get all the tasks assigned to the user.

GET /users/all-tasks

Note

This route requires a JWT Token

Get all the tasks created by the admin

Screenshots

Screenshot 2024-07-10 at 3 32 46 PM Screenshot 2024-07-10 at 3 32 56 PM Screenshot 2024-07-10 at 3 37 09 PM Screenshot 2024-07-10 at 3 36 52 PM Screenshot 2024-07-10 at 3 43 00 PM Screenshot 2024-07-11 at 10 44 05 AM

How Start the Project?

Running the code

pip install -r requirements.txt
uvicorn index:app --reload

Running the Docker Container

docker compose up --build

Credits

This app uses the following tech stacks:

  • FastAPI
  • MongoDB
  • Docker
  • Google OAuth 2.0