REST API for task management built with FastAPI and PostgreSQL.
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.
- FastAPI — Python web framework
- PostgreSQL — Database
- SQLAlchemy — ORM
- Pydantic — Data validation
- Docker — Containerization
- pytest — Testing
- Docker
- Docker Compose
- Python 3.12+
# 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 --buildAPI available at http://localhost:8000
Interactive documentation at http://localhost:8000/docs
| 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 |
pytest tests/ -vapp/
├── api/ # Endpoints
├── core/ # Configuration and database
├── models/ # Database models
├── schemas/ # Pydantic schemas
├── services/ # Business logic
└── main.py # Entry point