
- Fixed database connection path to match BackendIM requirements - Implemented filter by completion status in the todos endpoint - Fixed updated_at timestamp to automatically update - Updated alembic.ini with the correct database URL generated with BackendIM... (backend.im)
Todo Application
This is a simple Todo application built with FastAPI and SQLite.
Features
- Create, read, update, and delete todos
- Filter todos by completion status
- Pagination support
API Endpoints
GET /todos
: List all todosPOST /todos
: Create a new todoGET /todos/{todo_id}
: Get a specific todoPUT /todos/{todo_id}
: Update a todoDELETE /todos/{todo_id}
: Delete a todoGET /health
: Health check endpoint
Running the Application
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
alembic upgrade head
-
Run the application:
uvicorn main:app --reload
-
Access the API documentation:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Project Structure
app/
: Main application packageapi/
: API endpointscrud/
: Database CRUD operationsdb/
: Database configurationmodels/
: SQLAlchemy modelsschemas/
: Pydantic schemas
alembic/
: Database migrationsmain.py
: Application entry pointrequirements.txt
: Project dependencies
Description
Languages
Python
94.7%
Mako
5.3%