Todo Cursor

Todo Cursor

🚀 待办事项应用

待办事项应用是一个全面的应用程序,涵盖 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 - 删除任务

🤝 贡献指南

要为该项目做出贡献,请按照以下步骤操作:

  1. 克隆此仓库到本地。
  2. 创建一个新的功能分支:git checkout -b feature/your-feature-name
  3. 提交你的更改:git commit -m '添加了新功能'
  4. 推送到远程分支:git push origin feature/your-feature-name
  5. 创建拉取请求。

📄 许可证

此项目受到 MIT License 的保护。

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-29 09:00

相似服务问题