Skip to content

vanDevBett/task-manager-api

Repository files navigation

Task Manager API

REST API for task management built with FastAPI and PostgreSQL.

Live Demo

API: https://task-manager-638gdg3wv-vandevbetts-projects.vercel.app

Docs: https://task-manager-638gdg3wv-vandevbetts-projects.vercel.app/docs

Note: First request may take a few seconds to respond.

Tech Stack

  • FastAPI — Python web framework
  • PostgreSQL — Database
  • SQLAlchemy — ORM
  • Pydantic — Data validation
  • Docker — Containerization
  • pytest — Testing

Getting Started

Prerequisites

  • Docker
  • Docker Compose
  • Python 3.12+

Run the project

# Clone the repository
git clone git@github.com:vanDevBett/task-manager-api.git
cd task-manager-api
# Create the environment file
cp .env.example .env
# Create and activate virtual environment

# Mac / Linux
python3 -m venv venv
source venv/bin/activate

# Windows
python -m venv venv
venv\Scripts\activate
# Start the containers
docker compose up --build

API available at http://localhost:8000

Interactive documentation at http://localhost:8000/docs

API Endpoints

Method Endpoint Description
GET /tasks Get all tasks
GET /tasks/{id} Get a task by id
POST /tasks Create a task
PUT /tasks/{id} Update a task
DELETE /tasks/{id} Delete a task

Run Tests

pytest tests/ -v

Project Structure

app/
├── api/          # Endpoints
├── core/         # Configuration and database
├── models/       # Database models
├── schemas/      # Pydantic schemas
├── services/     # Business logic
└── main.py       # Entry point

Releases

No releases published

Packages

 
 
 

Contributors