๐ Task Management App - Backend
A scalable and efficient backend API for a Task Management App, developed using FastAPI, secured with JWT Authentication, powered by Supabase database, and containerized with Docker for easy deployment.
๐ Swagger Documentation: https://api.tribber.live/docs
๐ Description
This backend service provides core features for a task management system, including user authentication and task CRUD operations. Built with modern, lightweight technologies and deployed on AWS EC2 for high availability.
๐ Core Features
๐งโ๐ผ User Authentication
- โ Sign up
- ๐ Sign in
- ๐ช Logout
- ๐ค Fetch current user data
- ๐๏ธ Delete account
โ Task Management
- ๐ View user's task list
- โ Create a new task
- โ๏ธ Update existing task
- โ Delete task
๐งช API Endpoints
๐ Authentication
Method | Endpoint | Description |
---|---|---|
POST | /api/v1/auth/signup | Register a new user |
POST | /api/v1/auth/signin | Login user |
GET | /api/v1/auth/me | Get current user info |
GET | /api/v1/auth/logout | Logout user |
DELETE | /api/v1/auth/delete | Delete user account |
๐๏ธ Task Management
Method | Endpoint | Description |
---|---|---|
GET | /api/v1/task/get | Fetch user's tasks |
POST | /api/v1/task/create | Create a new task |
PUT | /api/v1/task/update/{task_id} | Update a task by ID |
DELETE | /api/v1/task/delete/{task_id} | Delete a task by ID |
โ๏ธ Tech Stack
- Backend Framework: FastAPI
- Database: Supabase (PostgreSQL)
- Authentication: JWT via FastAPI
- Deployment: AWS EC2
- Containerization: Docker & Docker Compose
๐ ๏ธ Local Setup & Installation
๐ Prerequisites
Make sure the following tools are installed:
- Python 3.9+
- Pip
- Virtualenv (optional but recommended)
- Docker & Docker Compose
Prepare your .env
file using the structure from .env.local
.
โถ๏ธ Run Without Docker
# 1. Clone the repository
git clone https://github.com/tribber93/Back-End_Task-Management-App.git
cd Back-End_Task-Management-App
# 2. Create & activate a virtual environment
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
# 3. Install dependencies
pip install -r requirements.txt
# 4. Start the FastAPI server
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
๐ Your backend will be available at http://localhost:8000
๐งช Access Swagger UI at http://localhost:8000/docs
๐ณ Run with Docker Compose
docker-compose up --build -d
๐ฆ Backend is served at http://localhost:8000
๐ฌ Contact & Source
๐ป GitHub: github.com/tribber93/Back-End_Task-Management-App
โ๏ธ For any issues or suggestions, feel free to open an issue or pull request!