Skip to main content
TaskForge API is a production-ready RESTful API for task management built with Flask, SQLAlchemy, and Azure SQL Database. It implements JWT-based authentication, role-based access control (RBAC), full task CRUD, tag organization, advanced filtering, pagination, data export, and rate limiting — all backed by a test suite of 268 tests with greater than 73% code coverage.

Base URLs

EnvironmentURL
Productionhttps://task-forge-gbd6h8gtg8hchve9.chilecentral-01.azurewebsites.net
Local developmenthttp://localhost:5000
The interactive Swagger UI is available at /api/docs on either base URL.

Key features

  • JWT authentication — Access tokens (1 hour) and refresh tokens (30 days) with database-backed revocation.
  • Role-based access controladmin and user roles with per-endpoint permission enforcement.
  • Task CRUD — Create, read, update, and delete tasks with title, description, priority, status, and due date.
  • Tag system — Organize tasks with custom tags that support hex color codes.
  • Filtering and pagination — Filter by status, priority, user, tags, and date range. Server-side pagination with configurable page size and sort order.
  • Data export — Export tasks to CSV or JSON via GET /api/tasks/export.
  • Rate limiting — Request throttling on all endpoints via Flask-Limiter. Auth endpoints carry stricter per-route limits.
  • CORS support — Configurable allowed origins for cross-origin requests.
  • Interactive docs — Swagger UI powered by Flasgger, available at /api/docs.

Technology stack

ComponentLibrary / ServiceVersion
Web frameworkFlask3.1.2
ORMSQLAlchemy2.0.44
JWT authenticationFlask-JWT-Extended4.7.1
Rate limitingFlask-Limiter4.0.0
API documentationFlasgger0.9.7.1
CORSFlask-CORS6.0.1
WSGI serverGunicorn21.2.0
Production databaseAzure SQL Database
Development databaseSQLite
Testingpytest9.0.1
Test coveragepytest-cov7.0.0

Where to go next

Quickstart

Run the API locally and make your first request in under 5 minutes.

Authentication

Learn how JWT access and refresh tokens work, and how to manage sessions.

API reference

Explore all endpoints interactively in the Swagger UI.

Build docs developers (and LLMs) love