WuYongJie 9d58c6f707 feat: 添加生产环境 Docker 配置和配置验证脚本
- 创建 docker-compose.prod.yml 生产环境配置
  - 添加资源限制(CPU、内存)
  - 添加健康检查配置
  - 优化日志配置
  - 添加网络隔离
- 创建 validate-config.ps1 和 validate-config.sh 配置验证脚本
  - 验证环境变量配置
  - 验证端口可用性
  - 验证依赖服务连接
  - 验证开发环境和 Docker
2025-12-22 18:00:55 +08:00
2025-12-11 16:42:59 +08:00

3D 家具安装展示系统

现代化的 3D 家具装配过程展示系统,支持交互式动画和分享功能

项目状态:Phase 10 进行中(整体 95% 完成)
最后更新:2025-12-22


🚀 快速开始

环境要求

  • Node.js 18+
  • PostgreSQL 14+
  • npm 或 yarn

安装步骤

# 1. 安装依赖
npm install

# 2. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置数据库连接

# 3. 初始化数据库
npx prisma migrate dev
npx prisma db seed

# 4. 启动开发服务器
npm run dev

访问 http://localhost:3000

生产部署

详细部署说明请参考:

快速部署命令:

# 使用部署脚本(Windows)
.\scripts\deploy.ps1

# 使用部署脚本(Linux/Mac)
./scripts/deploy.sh

📖 文档导航

🎯 快速了解

🏗️ 架构设计

📚 开发指南

📊 阶段报告

🧪 测试报告


🎯 核心功能

✅ 已完成功能

1. 用户认证系统

  • 邮箱/姓名登录
  • 首次登录强制修改
  • JWT Token 认证
  • 密码加密存储

2. 权限管理系统

  • 6 种用户角色(超级管理员、管理员、部门管理员、组长、设计师、查看者)
  • 基于角色的权限控制(RBAC)
  • API 权限检查
  • 数据权限过滤

3. 组织架构管理

  • 部门管理
  • 小组管理
  • 成员分配

4. 产品管理系统

  • 产品 CRUD
  • 协作者管理
  • 可见性控制
  • 软删除和恢复

5. SKU 管理系统

  • SKU CRUD
  • 负责人设置
  • SKU 交接
  • 交接历史

6. 离职交接系统

  • 交接清单生成
  • 批量交接
  • 交接统计

7. 问题反馈系统

  • 反馈提交
  • 反馈处理
  • 自动分配
  • 状态流转

8. 操作日志系统

  • 日志记录
  • 日志查询
  • 日志导出

9. 审计报表系统

  • 用户活动报表
  • 产品变更报表
  • SKU 交接报表
  • 反馈处理报表

🚧 进行中功能

Phase 10: 生产就绪(90% 完成)

  • ✅ 数据备份脚本(数据库 + 文件存储)
  • ✅ 数据恢复脚本
  • ✅ 备份保留策略(自动清理过期备份)
  • ✅ 系统健康检查 API
  • ✅ 系统健康检查页面
  • ✅ 部署脚本
  • ✅ 部署指南文档
  • ✅ 运维指南文档
  • ⏳ 最终验收测试

Phase 9: 测试与优化(完成)

  • ✅ 前端性能优化(性能提升 30-50%)
  • ✅ 安全测试(安全评分 5/5)
  • ⏸️ 3D 性能优化(可选,已跳过)
  • ⏸️ 用户体验优化(可选,已跳过)
  • ⏸️ E2E 测试(可选,已跳过)

🛠️ 技术栈

核心技术

  • 框架: Next.js 14 + React 18 + TypeScript
  • 3D 图形: Three.js + React Three Fiber
  • 动画: GSAP (GreenSock)
  • 数据库: PostgreSQL + Prisma ORM
  • 样式: Tailwind CSS + Apple 设计系统
  • 存储: MinIO (S3 兼容)

开发工具

  • 类型检查: TypeScript 严格模式
  • 代码规范: ESLint + Prettier
  • 测试: Jest + React Testing Library
  • 版本控制: Git

📊 项目指标

性能指标

  • ✅ 页面加载时间减少 30-40%
  • ✅ 路由切换时间减少 50%
  • ✅ 列表渲染流畅(100 项 259ms)

安全指标

  • ✅ 0 个高危漏洞
  • ✅ 0 个中危漏洞
  • ✅ 0 个低危漏洞
  • ✅ 总体安全评分:⭐⭐⭐⭐⭐ (5/5)

代码质量

  • 总文件数:约 60+ 个
  • 总代码行数:约 10,000+ 行
  • API 端点数:约 30+ 个
  • 测试用例:76 个(100% 通过)

🔧 开发命令

# 开发
npm run dev              # 启动开发服务器
npm run build            # 生产构建
npm run start            # 启动生产服务器

# 数据库
npx prisma studio        # 打开数据库管理界面
npx prisma migrate dev   # 运行数据库迁移
npx prisma db seed       # 填充测试数据

# 测试
npm test                 # 运行所有测试
npm run test:watch       # 监听模式运行测试
npm run test:coverage    # 生成测试覆盖率报告

# 代码质量
npm run type-check       # TypeScript 类型检查
npm run lint             # ESLint 检查
npm run format           # Prettier 格式化

📁 项目结构

furniture-3d-system/
├── src/
│   ├── app/                # Next.js App Router
│   ├── components/         # React 组件
│   │   ├── 3d/            # 3D 相关组件
│   │   ├── assembly/      # 装配动画组件
│   │   ├── ui/            # Apple 风格 UI 组件
│   │   └── common/        # 通用组件
│   ├── lib/               # 工具库
│   ├── hooks/             # React Hooks
│   └── types/             # TypeScript 类型
├── prisma/                # 数据库模式
├── tests/                 # 测试文件
├── docs/                  # 📖 项目文档
│   ├── 架构设计/          # 架构相关文档
│   ├── 开发指南/          # 开发相关指南
│   ├── 阶段报告/          # 各阶段完成文档
│   ├── 测试报告/          # 测试相关报告
│   └── 历史归档/          # 过时的文档归档
└── public/                # 静态资源

🎯 下一步计划

当前进行中(Phase 10 - 最终验收)

目标:完成生产环境部署准备

已完成:

  • ✅ 数据备份和恢复脚本
  • ✅ 备份保留策略
  • ✅ 系统健康检查 API 和页面
  • ✅ 部署脚本
  • ✅ 部署和运维文档

待完成:

  • ⏳ 最终验收测试
  • ⏳ 生产环境部署验证

详细规划:查看 Phase 10 任务清单

中期计划(Phase 11 - 可选)

根据实际需求决定是否实施:

  1. 装配步骤编辑器
  2. 版本升级系统
  3. 其他增强功能

长期计划

  1. 持续优化和维护
  2. 根据用户反馈改进
  3. 添加新功能

🤝 贡献指南

开发流程

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

代码规范

  • 遵循 TypeScript 严格模式
  • 使用 ESLint 和 Prettier
  • 编写清晰的注释
  • 添加必要的测试

📞 需要帮助?

常见问题

  1. 如何查看项目进度? → 查看 项目总览
  2. 如何了解权限系统? → 查看 权限系统设计
  3. 如何优化性能? → 查看 性能优化指南
  4. 遇到问题怎么办? → 查看 文档导航

联系方式

  • 查看代码注释
  • 查看相关文档
  • 参考已完成的代码示例

📄 许可证

本项目采用 MIT 许可证


🎉 致谢

感谢所有为这个项目做出贡献的开发者!


项目版本:v1.0
最后更新:2025-12-22
维护者:开发团队

Description
3D家具展示系统
Readme 391 MiB
Languages
TypeScript 91.1%
JavaScript 5.1%
C# 1%
PowerShell 0.7%
CSS 0.6%
Other 1.4%