A modern, production-ready todo application built with React, Next.js, and FastAPI. Features a beautiful sunset-themed UI, real-time task management, analytics dashboard, and complete task history tracking.
- Task Management: Create, edit, complete, and delete tasks with inline editing
- Analytics Dashboard: Visualize your productivity with interactive charts
- Task History: Track all task operations with detailed timeline
- Responsive Design: Mobile-first design that works on all devices
- Dark Mode: Eye-friendly dark theme support
- Real-time Updates: Instant UI updates with optimistic rendering
- Beautiful UI: Modern sunset gradient theme with smooth animations
- Node.js 20+ (for frontend)
- Python 3.8+ (for backend)
- PostgreSQL database (we use Neon)
cd frontend/todo-app
npm install
npm run devFrontend runs on http://localhost:3000
cd backend
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your DATABASE_URL
# Run migrations
alembic upgrade head
# Start server
python main.pyBackend runs on http://localhost:8000
- Framework: Next.js 16 with App Router
- UI Library: React 19
- Language: TypeScript 5
- Styling: TailwindCSS 4
- Charts: Recharts
- Animations: Framer Motion
- Notifications: SweetAlert2
- Framework: FastAPI
- Database: PostgreSQL (Neon)
- ORM: SQLAlchemy
- Migrations: Alembic
- Testing: pytest (40+ tests)
- Validation: Pydantic
full-stack-todo-app/
βββ frontend/todo-app/ # Next.js frontend application
β βββ app/ # App router pages
β βββ components/ # React components
β βββ hooks/ # Custom hooks
β βββ services/ # API client
βββ backend/ # FastAPI backend
β βββ src/ # Source code
β β βββ api/ # API endpoints
β β βββ models/ # Database models
β β βββ services/ # Business logic
β βββ tests/ # Test suite
βββ specs/ # Feature specifications
- Homepage (
/) - Hero section with quick actions - Tasks (
/tasks) - Task management with CRUD operations - Analytics (
/analytics) - Charts and statistics - History (
/history) - Task operation timeline - Task Detail (
/tasks/[id]) - Individual task view
POST /api/v1/tasks- Create taskGET /api/v1/tasks- List all tasksGET /api/v1/tasks/{id}- Get single taskPUT /api/v1/tasks/{id}- Update taskPATCH /api/v1/tasks/{id}/complete- Mark completePATCH /api/v1/tasks/{id}/incomplete- Mark incompleteDELETE /api/v1/tasks/{id}- Delete taskGET /api/v1/history- Get task historyGET /api/v1/stats/weekly- Get weekly statistics
- Import repository at vercel.com
- Set root directory:
frontend/todo-app - Add environment variable:
NEXT_PUBLIC_API_URL=<your-backend-url> - Deploy!
See VERCEL_DEPLOYMENT_GUIDE.md for detailed instructions.
Backend can be deployed to:
- Railway
- Render
- Heroku
- Any platform supporting Python
Don't forget to set up your PostgreSQL database and update DATABASE_URL.
cd frontend/todo-app
npm testcd backend
pytest tests/ -v- β Inline editing - Edit tasks without leaving the page
- β Quick toggle - Mark complete/incomplete with one click
- β Drag to reorder (future feature)
- π Weekly activity bar chart (green for completed, orange for incomplete)
- π₯§ Completion status pie chart
- π Metric cards showing stats
- β±οΈ Activity timeline
- π¨ sunset gradient theme throughout
- π Dark mode support
- π± Fully responsive
- β¨ Smooth animations with Framer Motion
NEXT_PUBLIC_API_URL=http://localhost:8000/api/v1
NEXT_PUBLIC_APP_NAME=Todo AppDATABASE_URL=postgresql://user:password@host:port/database
APP_PORT=8000
FRONTEND_URL=http://localhost:3000Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
For issues and questions, please open an issue on GitHub.
Live Demo: https://taskflow-sirecodes.vercel.app/
Made with β€οΈ By Team Sire!