A modern AI-powered to‑do list that organizes, prioritizes, and categorizes your tasks using Google Gemini. This monorepo includes a sleek Vite/React/Redux frontend and a robust Express/TypeScript backend.
apps/frontend– React + Vite + Redux Toolkit + Tailwind CSS + Shadcn UIapps/backend– Express + TypeScript + Gemini integrationdocs/api_design.md– API contract and error codesdocs/backend_system_design.md– Backend architecture and designdocs/frontend_system_design.md– Frontend architecture and designdocs/entity_relationship_diagram.md– Entity Relationship Diagram (current & future)docs/system_design.svg– System architecture diagram
- Node.js >= 20
- pnpm >= 10
- Google Gemini API key (for backend)
pnpm install
# Run both frontend and backend in parallel
pnpm dev
# Or run individually in separate terminals
pnpm dev:backend # Backend: http://localhost:3000
pnpm dev:frontend # Frontend: http://localhost:5173PORT=3000
HOST=localhost
NODE_ENV=development
GEMINI_API_KEY=your_gemini_keyVITE_BASE_URL=http://localhost:3000/api/v1Base URL: /api/v1
-
POST /prioritize- Request body:
{ "tasks": ["Finish report", "Buy groceries"] } - Response:
Array of{ "task": "...", "priority": "High" | "Medium" | "Low", "category": "..." }
- Request body:
-
For error response details, see
docs/api_design.md.- 400: Validation errors
- 500: Server/internal errors
- Effortlessly add tasks — categorize and prioritize them with AI
- Results grouped by priority ("High", "Medium", "Low") and categories
- Strict input validation with Zod (both frontend & backend)
- Graceful server shutdown, centralized error handling
- API Design – Complete API contract and error handling
- Backend System Design – Backend architecture and implementation details
- Frontend System Design – Frontend architecture and user experience
- Entity Relationship Diagram – Data entities and relationships (current & future state)
- System Architecture – High-level system architecture diagram
pnpm dev— run frontend and backend togetherpnpm dev:frontend/pnpm dev:backend— run apps individuallypnpm build— build all workspaces