A productivity-focused todo application built with FastAPI, SQLite, and a clean web UI.
- Add, edit, and delete todos
- Mark todos as complete/incomplete
- Priority levels (high, medium, low) with color coding
- Due dates with overdue highlighting
- Filter by status (all, active, completed) and priority
- Inline editing
- Data stored persistently in SQLite
- Python 3.9 or higher
-
Clone the repository:
git clone <your-repo-url> cd PythonProject
-
Create and activate a virtual environment:
python3 -m venv .venv source .venv/bin/activate -
Install dependencies:
pip install fastapi uvicorn sqlalchemy pydantic
-
Run the application:
uvicorn main:app --reload
-
Open your browser and go to:
- Web UI: http://localhost:8000
- API Docs (Swagger): http://localhost:8000/docs
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Web UI |
| GET | /todos/ |
List all todos |
| POST | /todos/ |
Create a new todo |
| GET | /todos/{id} |
Get a single todo |
| PUT | /todos/{id} |
Update a todo |
| DELETE | /todos/{id} |
Delete a todo |