A RESTful Task Management API built with FastAPI, PostgreSQL, SQLAlchemy, and JWT Authentication. This project allows users to securely manage their tasks with full CRUD functionality while ensuring that users can only access their own data.
🔗 https://task-manager-api-x41v.onrender.com/docs
- User Registration
- User Authentication using JWT
- Secure Password Hashing
- Create Tasks
- Retrieve Tasks
- Update Tasks
- Delete Tasks
- User-specific Task Ownership
- PostgreSQL Database Integration
- Database Migrations with Alembic
- Cloud Deployment on Render
- FastAPI
- Python
- PostgreSQL
- SQLAlchemy
- JWT (JSON Web Tokens)
- Passlib (bcrypt)
- Alembic
- Render
- PostgreSQL(Render Managed Database)
Task_Manager_Api/
│
├── alembic/
│ ├── versions/
│ ├── env.py
│ ├── README
│ └── script.py.mako
│
├── routers/
│ ├── __init__.py
│ └── tasks.py
│
├── schemas/
│ ├── __init__.py
│ └── task.py
│
├── .env
├── .gitignore
├── alembic.ini
├── auth.py
├── database.py
├── main.py
├── models.py
├── requirements.txt
└── README.md
| Method | Endpoint | Description |
|---|---|---|
| POST | /register |
Register a new user |
| POST | /login |
Login and receive JWT token |
| Method | Endpoint | Description |
|---|---|---|
| POST | /tasks |
Create a task |
| GET | /tasks |
Retrieve all user tasks |
| PUT | /tasks/{task_id} |
Update a task |
| DELETE | /tasks/{task_id} |
Delete a task |
git clone https://github.com/PR12-tech/Task-Manager-API.git
cd Task_Manager_Apipython -m venv .venvWindows:
.venv\Scripts\activatepip install -r requirements.txtCreate a .env file:
DATABASE_URL=your_database_url
SECRET_KEY=your_secret_key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30alembic upgrade headuvicorn main:app --reload- Register a User
- Login to Obtain JWT Token
- Authorize Using Swagger UI
- Create Tasks
- View Tasks
- Update Tasks
- Delete Tasks
This project helped me gain practical experience with:
- FastAPI Development
- REST API Design
- JWT Authentication
- PostgreSQL Integration
- SQLAlchemy ORM
- Alembic Migrations
- Environment Variables
- Cloud Deployment using Render
- Production Debugging and Troubleshooting
- Task Categories
- Task Due Dates
- Task Search & Filtering
- Pagination
- Docker Support
- Automated Testing
- CI/CD Pipeline
Prasad Kadam
Backend Developer Project built to gain hands-on experience with FastAPI, PostgreSQL, JWT Authentication, database migrations using Alembic, and cloud deployment on Render.