README
🚀 待办事项应用
待办事项应用是一个全面的应用程序,涵盖 React Native 移动端应用与 Node.js/Express 后端 API。本项目借助 Cursor 和 Box MCP 服务器构建,全程未手动编写代码。
在 Cursor 中,我们搜索了 Box 里的产品需求文档(PRD)和编码标准,随后让 Cursor 依据 PRD 描述构建应用程序,并确保遵循编码标准。若想查看使用的文档,可查阅 /sample-docs 目录。
为避免绕过 PRD 或指南来简化构建过程,我们采用了以下公开示例:
- Damian Filiatrault 在 ScalablePath 上提供的 PRD
- 从 Google 的 Github 下载的编码标准
🚀 快速开始
项目结构
/mobile-app- React Native 移动端应用(使用 Expo)/api- Node.js/Express 后端 API(使用 TypeScript)
设置说明
先决条件
- Node.js 18+ 版本
- MongoDB 数据库
- Expo CLI(
npm install -g expo-cli) - iOS 模拟器(用于 iOS 开发)
- Android Studio 及其模拟器(用于 Android 开发)
移动端应用设置
# 切换到移动端应用目录
cd mobile-app
# 安装依赖项
npm install
# 启动开发服务器
npm start
# 在 iOS 上运行
npm run ios
# 在 Android 上运行
npm run android
API 设置
# 切换到 API 目录
cd api
# 安装依赖项
npm install
# 创建一个 .env 文件,并添加以下变量
# PORT=3000
# MONGODB_URI=mongodb://localhost:27017/todo-app
# JWT_SECRET=your-secret-key
# 启动开发服务器
npm run dev
# 构建项目
npm run build
# 启动生产服务器
npm start
环境变量
移动端应用
在 mobile-app 目录中创建一个 .env 文件,内容如下:
EXPO_PUBLIC_API_URL=http://localhost:3000/api
API
在 api 目录中创建一个 .env 文件,内容如下:
PORT=3000
MONGODB_URI=mongodb://localhost:27017/todo-app
JWT_SECRET=your-secret-key
✨ 主要特性
- 用户认证(注册、登录)
- 任务清单创建和管理
- 任务创建,包含名称、描述、截止日期和优先级
- 标记任务为完成
- 删除任务和清单
- 多平台支持(iOS 和 Android)
🔧 技术细节
移动端应用
- React Native(使用 Expo)
- TypeScript
- Redux Toolkit 用于状态管理
- Expo Router 用于导航
- React Native 安全区域上下文,用于处理安全区域
后端 API
- Node.js(使用 Express)
- TypeScript
- MongoDB(使用 Mongoose)
- JWT 认证
- Express Validator 用于请求验证
📚 详细文档
API 端点
认证
POST /api/auth/register- 注册新用户POST /api/auth/login- 用户登录
清单
GET /api/lists- 获取当前用户的全部清单POST /api/lists- 创建新清单GET /api/lists/:listId- 获取特定清单PUT /api/lists/:listId- 更新清单DELETE /api/lists/:listId- 删除清单
任务
GET /api/tasks- 获取全部任务POST /api/tasks- 创建新任务GET /api/tasks/:taskId- 获取特定任务PUT /api/tasks/:taskId- 更新任务DELETE /api/tasks/:taskId- 删除任务
🤝 贡献指南
要为该项目做出贡献,请按照以下步骤操作:
- 克隆此仓库到本地。
- 创建一个新的功能分支:
git checkout -b feature/your-feature-name - 提交你的更改:
git commit -m '添加了新功能' - 推送到远程分支:
git push origin feature/your-feature-name - 创建拉取请求。
📄 许可证
此项目受到 MIT License 的保护。
Scan to contact