Task Management App - Backend

Kategori: Web

Date: Jul 2023

Task Management App - Backend

๐Ÿš€ 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

MethodEndpointDescription
POST/api/v1/auth/signupRegister a new user
POST/api/v1/auth/signinLogin user
GET/api/v1/auth/meGet current user info
GET/api/v1/auth/logoutLogout user
DELETE/api/v1/auth/deleteDelete user account

๐Ÿ—‚๏ธ Task Management

MethodEndpointDescription
GET/api/v1/task/getFetch user's tasks
POST/api/v1/task/createCreate 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!