TodoFlow-基于人工智能的任务管理应用程序
一个全栈任务管理应用程序,带有由Google Gemini支持的智能AI聊天机器人助手。使用FastAPI(后端)和Next.js(前端)构建。
特性
- ✅ 任务管理:创建、更新、删除和组织任务
- 🤖 AI助手:通过聊天机器人进行自然语言任务管理
- 🔐 认证:安全的用户注册和登录
- 💬 聊天记录:持续的对话历史
- 🎨 现代用户界面:具有深色模式的漂亮、灵敏的界面
- ☁️ 云数据库:由Neon PostgreSQL提供技术支持
技术栈
后端
- 框架:FastAPI
- 数据库:PostgreSQL(Neon)
- 对象关系映射:SQL模型
- 人工智能:与OpenAI兼容的API(Gemini、OpenAI等)
- 主控程序:用于工具调用的模型上下文协议
- 认证:基于JWT的身份验证
前端
- 框架:Next.js 16(React 19)
- 样式:顺风CSS
- 动画:帧运动
- 图标:Lucide React
- HTTP客户端:Axios
先决条件
- Python 3.11+
- Node.js 18+
- PostgreSQL数据库 (我们建议 霓虹)
- Google AI Studio API密钥 或OpenAI API密钥
安装
1.克隆存储库
git clone https://github.com/yourusername/Todo-AI-Chatbot.git
cd Todo-AI-Chatbot2.后端设置
cd backend
# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration (see below)
# Run the backend server
uvicorn app.main:app --reload后端将在 http://localhost:8000
3.前端设置
cd frontend
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your configuration (see below)
# Run the development server
npm run dev前端将在 http://localhost:3000
环境配置
后端(.env)
# Database Configuration
DATABASE_URL=postgresql://user:password@host/database?sslmode=require
# LLM Configuration
OPENAI_API_KEY=your_gemini_or_openai_api_key
OPENAI_API_BASE=https://generativelanguage.googleapis.com/v1beta/openai/
LLM_MODEL=gemini-flash-latest
# JWT Configuration
JWT_SECRET=your_generated_secret_here # Generate: openssl rand -hex 32
JWT_ALGORITHM=HS256
JWT_EXPIRATION_HOURS=24
# API Configuration
API_HOST=0.0.0.0
API_PORT=8000
# CORS Origins
CORS_ORIGINS=http://localhost:3000,https://your-frontend-url.vercel.app
# Environment (optional, defaults to development)
ENVIRONMENT=development获取API密钥:
- 双子座: https://aistudio.google.com/app/apikey
- OpenAI: https://platform.openai.com/api-keys
- Neon数据库: https://console.neon.tech
前端(.env.local)
NEXT_PUBLIC_API_URL=http://localhost:8000部署
后端部署(铁路/渲染)
- 创建新项目 铁路或渲染
- 连接您的存储库
- 设置环境变量 (全部来自
.env) - 添加:
ENVIRONMENT=production - 部署!
重要:确保更新 CORS_ORIGINS 使用您的前端URL。
前端部署(Vercel)
- 导入您的存储库 前往Vercel
- 设置环境变量:
- NEXT_PUBLIC_API_URL:您部署的后端URL
- 部署!
备注:更新后端 CORS_ORIGINS 包含您的Vercel URL。
用法
任务管理
- 点击“添加任务”以创建新任务
- 单击任务将其标记为已完成
- 使用三点菜单编辑或删除任务
人工智能聊天机器人
- 点击聊天图标打开AI助手
- 使用自然语言命令:
- “添加购买杂货的任务” - “按原样标记‘购买杂货’” - “删除我已完成的任务” - “显示我的所有待处理任务”
AI将自动执行适当的操作!
发展
后端结构
backend/
├── app/
│ ├── routers/ # API endpoints
│ ├── services/ # Business logic
│ ├── agent.py # AI orchestration
│ ├── mcp_server.py # Tool definitions
│ ├── models.py # Database models
│ └── main.py # App entry point
└── requirements.txt前端结构
frontend/
├── app/ # Next.js pages
├── components/ # React components
├── lib/ # Utilities & API client
└── public/ # Static assets故障排除
后端问题
“未设置DATABASE_URL”
- 确保
.env文件存在并包含DATABASE_URL
“找不到模块'openai'”
- 激活虚拟环境并运行
pip install -r requirements.txt
AI不执行工具
- 验证
OPENAI_API_KEY有效 - 检查工具执行的后端日志
前端问题
“网络错误”
- 验证后端是否在正确的端口上运行
- 检查
NEXT_PUBLIC_API_URL在.env.local - 确保CORS配置正确
构建失败
- 跑
npm install确保所有依赖项都已安装 - 检查TypeScript错误
贡献
欢迎投稿!请随时提交拉取请求。
许可证
麻省理工学院许可证-您可以自由使用此项目进行学习或个人使用!
支持
如果您遇到任何问题,请在GitHub上打开问题或联系维护人员。
______________________________________________________________________
内置于❤️ 用于生产任务管理
