Skip to content

Advanced Task Management REST API built with FastAPI, Tortoise ORM and Aerich for async, Postgres-backed user, project and task management. Features JWT authentication, async endpoints, and a migration-ready setup aimed at scalable, extensible APIs. Currently not finished — under active development, expect breaking changes and ongoing improvements.

Notifications You must be signed in to change notification settings

JonniTech/Advanced-Task-Management-REST-API

Repository files navigation

Advanced Task Management REST API

Typing Animation

Status Python FastAPI Tortoise ORM


🔧 Project Overview

Advanced Task Management REST API is a small, modern backend for managing users, projects, and tasks. It's built on top of FastAPI for fast development and async performance, using Tortoise ORM + Aerich for database models and migrations, and is designed to be easy to extend.

This repository is currently not finished — still under development, and active improvements are in progress.

🚀 Tech Stack

Tech & services used (quick glance):

  • Python
  • FastAPI
  • Uvicorn
  • Tortoise ORM
  • Aerich
  • asyncpg
  • PyJWT

📦 Key Features

  • User authentication and JWT tokens
  • Projects and tasks management endpoints
  • Database migrations using Aerich and Tortoise ORM
  • Async endpoints and connection-ready for Postgres

💡 Getting Started (development)

Prerequisites

  • Python 3.13 or later
  • PostgreSQL (or another supported DB for asyncpg)

Quick Start

  1. Clone repository
git clone https://github.com/JonniTech/Advanced-Task-Management-REST-API.git
cd "Task Management API"
  1. Create a virtual environment and activate it
python -m venv .venv
source .venv/bin/activate
  1. Install project dependencies
pip install -r requirements.txt
  1. Create .env with DB and secret settings (see configs/settings.py for env names)

  2. Run database migrations (aerich)

aerich init -t database.aerich_config.TORTOISE_ORM
aerich upgrade
  1. Start the app locally
uvicorn main:app --reload

Open API docs at http://127.0.0.1:8000/docs


🧭 Project Structure

High level structure (abridged):

api/                 # Routers and API routes (v1)
auth/                # Authentication helpers and token logic
database/            # Connection and migration config (aerich)
models/              # Tortoise models
schemas/             # Pydantic request/response schemas
services/            # Business logic / services
main.py              # FastAPI bootstrapping

🤝 Contributing

Contributions and feedback are very welcome — open issues or submit a pull request. As the project is under active development, please open an issue to discuss bigger changes before implementing them.


📣 Status

This project is under active development — expect incomplete functionality and breaking changes on the main branch.


📫 Contact / Support

If you want to follow or contribute, open an issue or PR. You can reach the maintainer via GitHub: @JonniTech


Thanks for checking this project — improvements coming soon!

About

Advanced Task Management REST API built with FastAPI, Tortoise ORM and Aerich for async, Postgres-backed user, project and task management. Features JWT authentication, async endpoints, and a migration-ready setup aimed at scalable, extensible APIs. Currently not finished — under active development, expect breaking changes and ongoing improvements.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages