# Simple Todo Application A simple Todo API built with FastAPI and SQLite, allowing users to create, read, update, and delete todo items. ## Features - RESTful API for managing todo items - SQLite database with SQLAlchemy ORM - Alembic migrations for database version control - Health endpoint for monitoring application status - Pydantic models for request/response validation - API documentation with Swagger UI and ReDoc ## Tech Stack - Python 3.7+ - FastAPI - SQLAlchemy - Alembic - SQLite - Pydantic - Uvicorn ## API Endpoints - `GET /todos` - List all todos - `POST /todos` - Create a new todo - `GET /todos/{todo_id}` - Get a specific todo - `PUT /todos/{todo_id}` - Update a todo - `DELETE /todos/{todo_id}` - Delete a todo - `GET /health` - Check application health ## Installation 1. Clone the repository 2. Install dependencies: `pip install -r requirements.txt` 3. Run migrations: `alembic upgrade head` 4. Start the server: `uvicorn main:app --reload` ## API Documentation After starting the application, you can access: - Swagger UI at: http://localhost:8000/docs - ReDoc at: http://localhost:8000/redoc