A lightweight task management system built with FastAPI, SQLite, and a simple HTML frontend. It allows users to create, view, update, and delete tasks through a browser interface.
- RESTful API with FastAPI
- SQLite database (auto-created)
- Full CRUD operations for tasks
- HTML + JavaScript frontend
- Interactive UI (Add, Complete, Delete)
- CORS enabled for smooth frontend-backend communication
smart-task-tracker-api/
├── main.py # FastAPI app (routes + CORS)
├── models.py # SQLAlchemy Task model
├── schemas.py # Pydantic schemas
├── database.py # SQLite DB setup
├── index.html # Frontend UI
├── requirements.txt # Python dependencies
├── tasks.db # Auto-created DB file
└── README.md # Project guide
git clone https://github.com/bhola-dev58/smart-task-tracker-api.git
cd smart-task-tracker-api
python -m venv myenv
# Activate (Windows)
myenv\Scripts\activate
# Activate (Linux/macOS)
source myenv/bin/activate
pip install -r requirements.txt
Or manually install:
pip install fastapi uvicorn sqlalchemy
uvicorn main:app --reload
- Visit: http://127.0.0.1:8000
- Docs: http://127.0.0.1:8000/docs
- Open
index.html
(double-click or right-click → Open in browser) - Use the form to add tasks
- Click “Complete” or “Delete” to manage them
- All actions send requests to your FastAPI API
Use the Swagger UI:
http://127.0.0.1:8000/docs
Or via curl:
curl -X POST "http://127.0.0.1:8000/tasks" ^
-H "Content-Type: application/json" ^
-d "{\"title\": \"Read Book\", \"description\": \"Chapter 4\", \"is_completed\": false}"
- Install DB Browser for SQLite
- Open
tasks.db
file - Go to “Browse Data” tab → View
tasks
table
- Database auto-creates on first request
- Backend must be running before using the frontend
- If you get CORS issues, ensure CORS middleware is added in
main.py

Bhola Yadav
📱 WhatsApp: +91-9198709984
🔗 GitHub: bhola-dev58
This project is licensed under the MIT License
🚀 Happy Task Tracking!