A full-stack, feature-rich todo list application with a beautiful modern UI built with Vue.js 3 and FastAPI.
- Create, Read, Update, Delete todos
- Real-time search filtering
- Priority levels (Low, Medium, High) with color coding
- Due dates with overdue highlighting
- Tags with custom colors for categorization
- Subtasks for breaking down complex tasks
- Drag and drop reordering
- Modern dark theme with gradient backgrounds
- Glass morphism effects
- Smooth animations (fadeIn, slideIn, bounceIn)
- Responsive design (mobile, tablet, desktop)
- Custom checkboxes with animations
- Modal dialogs for creating/editing
- Statistics dashboard (Total/Active/Completed)
-
Install Python dependencies
pip install -r requirements.txt
-
Initialize the database
python -c "from backend.utils.database import init_db; init_db()" -
Run the development server
python -m uvicorn backend.main:app --reload
-
Access the application
http://localhost:8000
python -m pytest tests/ -v./comprehensive-test.shlists/
├── backend/
│ ├── main.py # FastAPI application
│ ├── models/ # SQLAlchemy models
│ ├── routes/ # API endpoints
│ ├── schemas/ # Pydantic models
│ └── utils/ # Database connection
├── frontend/
│ ├── index.html # Vue.js app
│ ├── css/ # Styling
│ └── js/ # Vue 3 logic
└── tests/ # Test suite
GET /api/todos/- List todosPOST /api/todos/- Create todoPUT /api/todos/{id}- Update todoDELETE /api/todos/{id}- Delete todoPATCH /api/todos/{id}/toggle- Toggle completionPOST /api/todos/reorder- Reorder todos
GET /api/tags/- List tagsPOST /api/tags/- Create tagDELETE /api/tags/{id}- Delete tag
- Dark theme with gradients
- Smooth animations
- Responsive design
- Real-time search
- Drag and drop
- Modal dialogs
- API Tests: 60/60 passed
- Comprehensive Tests: 49/50 passed
Made with ❤️ for productivity