A compact, structured REST API built with Flask. Users can register, log in via JWT, and manage their own tasks. The API is documented via Swagger UI and prepared for Docker-based deployment.
This is a learning REST API for a simple task manager built on Flask. Each user has their own task list, available only after JWT authentication.
Swagger UI on /api/.Flask-Migrate (Alembic)..env for secrets and DB settings.To demonstrate that I can build a basic but well-structured backend: authentication, database, migrations, documentation and Dockerization.
POST /auth/register β user registration.POST /auth/login β login, returns JWT token.GET /tasks/ β list of tasks for the current user.POST /tasks/ β create a new task.PATCH /tasks/{id} β update an existing task.DELETE /tasks/{id} β delete a task.# 1. Create and activate virtual environment
python -m venv .venv
# Windows:
# .venv\Scripts\activate
# Linux / macOS:
# source .venv/bin/activate
# 2. Install dependencies
pip install -r requirements.txt
# 3. Configure environment
cp .env.example .env
# (set DATABASE_URL, JWT_SECRET_KEY, etc.)
# 4. Apply database migrations
flask db upgrade
# 5. Run the application
python wsgi.py
# or
# flask run
# API docs: http://127.0.0.1:5000/api/