# AI智能销售平台后端服务 基于微服务架构的现代化电商后端系统,集成AI智能客服能力。 ## 技术栈 - **运行时**: Node.js 20+ - **开发语言**: TypeScript 5.0+ - **Web框架**: Express.js 4.18+ - **数据层**: Parse Server 5.0+ + MongoDB 6.0+ - **缓存**: Redis 7.0+ - **搜索**: Elasticsearch 8.0+ - **消息队列**: Bull + Redis - **AI平台**: Coze AI ## 项目结构 ``` backend/ ├── src/ │ ├── server.ts # 应用入口 │ ├── app.ts # Express应用配置 │ ├── config/ # 配置文件 │ ├── services/ # 微服务模块 │ │ ├── user/ # 用户服务 │ │ ├── product/ # 商品服务 │ │ ├── order/ # 订单服务 │ │ ├── payment/ # 支付服务 │ │ └── chat/ # 客服服务 │ ├── models/ # 数据模型 │ ├── controllers/ # 控制器 │ ├── middleware/ # 中间件 │ ├── utils/ # 工具函数 │ └── types/ # 类型定义 ├── tests/ # 测试文件 ├── docker-compose.yml # Docker编排 ├── Dockerfile # Docker镜像 └── package.json # 项目配置 ``` ## 快速开始 ### 环境要求 - Node.js >= 20.0.0 - MongoDB >= 6.0 - Redis >= 7.0 - Elasticsearch >= 8.0 (可选) ### 安装依赖 ```bash npm install ``` ### 配置环境变量 ```bash cp .env.example .env # 编辑.env文件,填入实际配置 ``` ### 启动开发环境 使用Docker Compose(推荐): ```bash npm run docker:dev ``` 或手动启动: ```bash # 启动依赖服务(MongoDB, Redis等) # 然后启动应用 npm run dev ``` ### 运行测试 ```bash # 运行所有测试 npm test # 运行单元测试 npm run test:unit # 运行集成测试 npm run test:integration # 监听模式 npm run test:watch ``` ### 代码检查 ```bash # 检查代码规范 npm run lint # 自动修复 npm run lint:fix # 格式化代码 npm run format ``` ## 微服务架构 ### 用户服务 (User Service) - 用户注册、登录、认证 - 权限和角色管理 - 用户信息管理 ### 商品服务 (Product Service) - 商品CRUD管理 - 商品搜索和筛选 - 分类管理 - 库存管理 ### 订单服务 (Order Service) - 订单创建和管理 - 订单状态跟踪 - 购物车管理 ### 支付服务 (Payment Service) - 支付渠道集成 - 支付状态管理 - 退款处理 ### 客服服务 (Chat Service) - AI智能客服 - 人工客服转接 - 会话管理 ## API文档 API文档采用OpenAPI 3.0规范,启动服务后访问: - Swagger UI: http://localhost:3000/api-docs - API规范: `/api/API_Spec.md` ## 性能指标 - API响应时间(P95): < 300ms - 系统可用性: ≥ 99.9% - 并发用户支持: ≥ 1000 - 数据库查询时间: < 100ms ## 安全措施 - JWT认证和授权 - HTTPS加密传输 - 数据加密存储 - API请求限流 - SQL注入防护 - XSS攻击防护 ## 部署 ### Docker部署 ```bash # 构建镜像 npm run docker:build # 运行容器 docker run -p 3000:3000 ecommerce-backend ``` ### 生产环境部署 ```bash # 构建生产代码 npm run build # 启动生产服务 npm start ``` ## 监控与日志 - 应用监控: Prometheus + Grafana - 日志收集: Winston + ELK Stack - 错误追踪: Sentry - 性能分析: New Relic ## 开发规范 详见: - [API接口规范](../api/API_Spec.md) - [数据库设计文档](../tech/Database_Schema.md) - [后端开发流程](./Docs/Backend_Development_Process_Optimized.md) ## 常见问题 ### Q: 如何添加新的微服务? A: 参考现有服务目录结构,在`src/services/`下创建新的服务目录。 ### Q: 如何进行数据库迁移? A: 使用`npm run migrate`命令执行迁移脚本。 ### Q: 如何配置不同环境? A: 为不同环境创建对应的.env文件(如.env.production)。 ## 贡献指南 1. Fork项目 2. 创建功能分支 3. 提交变更 4. 推送到分支 5. 创建Pull Request ## 许可证 MIT License ## 联系方式 - 项目维护者: Backend Development Team - 技术支持: support@ecommerce-ai.com