This project implements an AI-powered todo management system that allows users to interact with their todo lists using natural language commands.
The system consists of two main components:
cd backend
pip install -r requirements.txt
cp .env.example .env
# Edit .env and add your API keys and database URL
python -m src.main
cd frontend
npm install
cp .env.example .env.local
# Edit .env.local and configure your API URLs
npm run dev
POST /api/{user_id}/chat - Main chat interface endpointGET /health - Health check endpointDATABASE_URL=postgresql://username:password@localhost:5432/todo_db
OPENAI_API_KEY=your-openai-api-key
NEON_DATABASE_URL=your-neon-database-url
BETTER_AUTH_SECRET=your-secret-key
BETTER_AUTH_URL=http://localhost:3000
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
NEXT_PUBLIC_BETTER_AUTH_URL=http://localhost:3000
NEXT_PUBLIC_OPENAI_DOMAIN_KEY=your-openai-domain-key
Note: The NEXT_PUBLIC_OPENAI_DOMAIN_KEY is required for authenticating with OpenAI services. You can obtain this key from your OpenAI dashboard.
Once the application is running, you can interact with the AI assistant using natural language:
The system exposes the following MCP tools for AI agents:
add_task - Create new taskslist_tasks - Retrieve user’s taskscomplete_task - Mark tasks as completeddelete_task - Remove tasksupdate_task - Modify existing tasksTo run the integration tests:
cd backend
pytest test_integration.py