2.0 KiB
2.0 KiB
项目概述
基于 Node.js + NestJS + TypeORM 构建的沙发翻新服务小程序后端系统,支持用户认证、案例管理、服务管理等核心功能。
技术栈
- 框架: NestJS v11.x
- 数据库: MySQL + TypeORM v0.3.x
- 认证: JWT (JSON Web Token)
- 验证: class-validator + class-transformer
- 文档: Swagger/OpenAPI
- 语言: TypeScript
开发规范
代码结构
- 采用模块化架构,每个业务功能独立为模块
- DTO 用于数据传输验证
- Entity 定义数据库实体关系
- Service 实现业务逻辑
- Controller 处理路由和 HTTP 请求
权限控制
- 使用
@Public()装饰器标记公开接口 - 使用
@Roles()装饰器进行角色权限控制 - 使用
@CurrentUser()获取当前登录用户信息
API 设计原则
- 遵循 RESTful API 设计规范
- 统一错误处理和响应格式
- 完整的 Swagger 文档注释
- 输入验证和数据转换
数据库设计
- Users: 用户表,支持多角色 (admin/customer/worker)
- Cases: 案例表,展示翻新前后对比
- Services: 服务表,管理服务项目和价格
- Bookings: 预约表,处理客户预约和订单
开发流程
- 使用
npm run start:dev启动开发服务器 - 访问 http://localhost:3000/docs 查看 API 文档
- 确保 MySQL 数据库连接配置正确
- TypeORM 会自动同步数据库结构 (开发环境)
✅ 已完成功能
- TypeORM 数据库配置和连接
- JWT 认证系统 (注册/登录/刷新令牌)
- 用户管理模块 (个人资料/权限控制)
- 案例管理模块 (CRUD/点赞/筛选)
- 服务管理模块 (价格/状态/排序)
- Swagger API 文档集成
- 全局验证管道和错误处理
- CORS 跨域配置
🚧 待开发功能
- 预约管理模块 (Booking)
- 文件上传功能 (图片存储)
- 数据库迁移脚本
- 单元测试和 E2E 测试
- 日志系统
- 性能监控和限流