https://github.com/sachinprasanth777/taskguardian
An API to manage tasks for admins and users
https://github.com/sachinprasanth777/taskguardian
authentication docker fastapi smtp task-manager
Last synced: about 2 months ago
JSON representation
An API to manage tasks for admins and users
- Host: GitHub
- URL: https://github.com/sachinprasanth777/taskguardian
- Owner: SachinPrasanth777
- License: mit
- Created: 2024-07-03T09:37:04.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-10T10:23:54.000Z (over 1 year ago)
- Last Synced: 2025-03-02T12:44:40.838Z (over 1 year ago)
- Topics: authentication, docker, fastapi, smtp, task-manager
- Language: Python
- Homepage:
- Size: 34.2 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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
- [x] User registration
- [x] User verification via email
- [x] Admin registration
- [x] Admin verification via email
- [x] Issue Tasks to users followed by emails
- [x] 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
# 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