Automated Action 206bdd171b Implement Task Management API with FastAPI
- Create complete task management system with CRUD operations
- Add Task model with status, priority, timestamps
- Set up SQLite database with SQLAlchemy and Alembic migrations
- Implement RESTful API endpoints for task operations
- Configure CORS middleware and API documentation
- Add health check endpoint and root information response
- Include proper project structure and comprehensive README
2025-07-01 23:01:59 +00:00
2025-07-01 22:57:58 +00:00

Task Management API

A simple and efficient task management tool built with FastAPI and SQLite.

Features

  • Create, read, update, and delete tasks
  • Task prioritization (Low, Medium, High)
  • Task status tracking (Pending, In Progress, Completed)
  • RESTful API with automatic documentation
  • SQLite database with Alembic migrations

API Endpoints

  • GET / - Root endpoint with API information
  • GET /health - Health check endpoint
  • GET /docs - Interactive API documentation (Swagger UI)
  • GET /redoc - Alternative API documentation (ReDoc)
  • POST /tasks - Create a new task
  • GET /tasks - List all tasks (with pagination)
  • GET /tasks/{task_id} - Get a specific task
  • PUT /tasks/{task_id} - Update a task
  • DELETE /tasks/{task_id} - Delete a task

Quick Start

  1. Install dependencies:

    pip install -r requirements.txt
    
  2. Run the application:

    uvicorn main:app --reload
    
  3. Access the API documentation at http://localhost:8000/docs

Project Structure

.
├── main.py                 # FastAPI application entry point
├── requirements.txt        # Python dependencies
├── alembic.ini            # Alembic configuration
├── pyproject.toml         # Ruff configuration
├── app/
│   ├── db/
│   │   ├── base.py        # SQLAlchemy base
│   │   └── session.py     # Database session management
│   ├── models/
│   │   └── task.py        # Task database model
│   ├── routers/
│   │   └── tasks.py       # Task API endpoints
│   └── schemas/
│       └── task.py        # Pydantic schemas
├── alembic/
│   ├── versions/          # Migration files
│   └── env.py            # Alembic environment
└── storage/
    └── db/               # SQLite database location

Database

This application uses SQLite for data storage. The database is automatically created when the application starts. Database migrations are handled by Alembic.

Environment Variables

Currently, the application uses default configurations and doesn't require any environment variables to run.

Description
Project: Task Management API
Readme 36 KiB
Languages
Python 93.5%
Mako 6.5%