Todo应用程序
一个全面的todo应用程序,带有React Native移动应用程序和Node.js/Express后端API。这 该文件是使用Cursor和Box-MCP服务器构建的。没有手动编写代码。
在Cursor中,我们在方框中搜索了产品要求文件(PRD)和编码标准,并询问 Cursor构建PRD中描述的应用程序,确保遵循编码标准。查看文档 我们在Box中使用,请查看 /sample-docs 目录。
为了防止欺骗PRD或指导方针,使构建更容易,我使用了以下方法 公开可用的示例:
- 来自达米安·菲利特劳特的PRD 可扩展路径.
- 从谷歌的Github下载编码标准
项目结构
/mobile-app-React Native移动应用程序与Expo/api-Node.js/Express后端API(带TypeScript)
特性
- 用户身份验证(注册、登录)
- 任务列表创建和管理
- 创建带有名称、描述、截止日期和优先级的任务
- 将任务标记为已完成
- 删除任务和列表
- 跨平台(iOS和Android)
技术栈
移动应用程序
- React Native与Expo
- TypeScript
- 用于状态管理的Redux工具包
- 世博会导航路由器
- React Native安全区域上下文用于安全区域处理
后端API
- Node.js与Express
- TypeScript
- MongoDB与Mongoose
- JWT身份验证
- 用于请求验证的快速验证器
安装说明
先决条件
- Node.js 18+
- MongoDB
- Expo CLI(
npm install -g expo-cli) - iOS模拟器(用于iOS开发)
- 带模拟器的Android Studio(用于Android开发)
移动应用程序设置
# Navigate to the mobile app directory
cd mobile-app
# Install dependencies
npm install
# Start the development server
npm start
# Run on iOS
npm run ios
# Run on Android
npm run androidAPI设置
# Navigate to the API directory
cd api
# Install dependencies
npm install
# Create a .env file with the following variables
# PORT=3000
# MONGODB_URI=mongodb://localhost:27017/todo-app
# JWT_SECRET=your-secret-key
# Start the development server
npm run dev
# Build the project
npm run build
# Start the production server
npm start环境变量
移动应用程序
创建一个 .env 文件在 mobile-app 目录包含:
EXPO_PUBLIC_API_URL=http://localhost:3000/apiAPI
创建一个 .env 文件在 api 目录包含:
PORT=3000
MONGODB_URI=mongodb://localhost:27017/todo-app
JWT_SECRET=your-secret-keyAPI终点
认证
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/lists/:listId/tasks-获取列表中的所有任务POST /api/lists/:listId/tasks-创建新任务GET /api/lists/:listId/tasks/:taskId-获取特定任务PUT /api/lists/:listId/tasks/:taskId-更新任务DELETE /api/lists/:listId/tasks/:taskId-删除任务
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
该项目根据MIT许可证获得许可。
