todoapi-f42fit/README.md
Automated Action 53566813bd Complete Todo API implementation with FastAPI and SQLite
- Add SQLite database configuration
- Create Todo model, schemas, and CRUD operations
- Implement Todo API endpoints
- Add Alembic migration for todo table
- Set up database initialization in main.py
- Update README with project details and instructions
- Add pyproject.toml with Ruff configuration
2025-06-10 15:40:42 +00:00

1.4 KiB

Todo API

This is a FastAPI Todo API application that allows you to manage todo items.

Features

  • Create, read, update, and delete todo items
  • Filter todos by completion status and title
  • Pagination support
  • SQLite database backend
  • Alembic migrations

Requirements

  • Python 3.9+
  • FastAPI
  • SQLAlchemy
  • Alembic
  • Uvicorn
  • Other dependencies in requirements.txt

Installation

  1. Clone the repository
  2. Install the dependencies:
pip install -r requirements.txt

Database Setup

The application uses SQLite as the database backend. The database will be automatically created in the /app/storage/db directory when the application starts.

To run the database migrations:

alembic upgrade head

Running the Application

Start the application with Uvicorn:

uvicorn main:app --reload

The API will be available at http://localhost:8000

API Documentation

The API documentation is available at:

API Endpoints

  • GET /api/v1/todos: List all todos with optional filtering
  • POST /api/v1/todos: Create a new todo
  • GET /api/v1/todos/{todo_id}: Get a specific todo
  • PUT /api/v1/todos/{todo_id}: Update a todo
  • DELETE /api/v1/todos/{todo_id}: Delete a todo

Health Check

The application includes a health check endpoint at /health that can be used to verify that the service is running properly.