Skip to content

CorvoZhang/Wardrobe_mini

Repository files navigation

智能穿搭规划系统

1. 项目概述

智能穿搭规划系统是一个基于AI技术的个人衣橱管理和穿搭推荐平台,帮助用户实现衣物的智能化管理、搭配和推荐,提升用户的穿搭体验和时尚品味。

1.1 核心功能

  • 用户注册、登录和个人信息管理
  • 虚拟衣橱管理,包括衣物分类、图片上传和处理
  • AI辅助穿搭生成和效果图展示
  • 智能衣物推荐和自然语言描述解析

1.2 技术文档目的

本文档详细描述了智能穿搭规划系统的技术实现细节,包括技术栈选择、系统架构、核心模块实现、数据库设计、API设计、部署方案等,为系统的开发、测试和部署提供指导。

2. 技术栈选择

2.1 整体技术栈

层级 技术栈 用途
前端 React 18、Ant Design、React Router 网页端开发
后端 Node.js、Express 业务逻辑实现
数据库 SQLite、MySQL 数据存储和检索
ORM Sequelize 数据库操作
认证 JWT 用户认证和授权

3. 系统架构

3.1 整体架构

智能穿搭规划系统采用前后端分离架构:

  • 前端:React 18 + Ant Design,负责用户界面展示和交互
  • 后端:Node.js + Express,负责业务逻辑和数据处理
  • 数据库:SQLite(开发环境)、MySQL(生产环境),负责数据存储

3.2 目录结构

├── client/                 # 前端项目
│   ├── src/               # 前端源码
│   │   ├── assets/         # 静态资源
│   │   ├── components/     # 可复用组件
│   │   ├── pages/          # 页面组件
│   │   ├── App.jsx         # 应用入口组件
│   │   └── main.jsx        # 应用入口文件
│   ├── package.json        # 前端依赖配置
│   └── vite.config.js      # Vite配置文件
├── server/                 # 后端项目
│   ├── config/             # 配置文件
│   ├── middleware/         # 中间件
│   ├── models/             # 数据库模型
│   ├── routes/             # API路由
│   ├── tests/              # 测试文件
│   ├── uploads/            # 文件上传目录
│   ├── index.js            # 后端入口文件
│   └── package.json        # 后端依赖配置
├── README.md               # 项目说明文档
├── DESIGN_DOCUMENT.md      # 设计文档
└── REQUIREMENTS_DOCUMENT.md # 需求文档

4. 核心模块实现

4.1 用户系统模块

  • 功能:处理用户注册、登录、个人信息管理等
  • 技术实现
    • 密码采用bcrypt加盐哈希存储
    • 使用JWT进行身份认证
    • 支持用户信息的CRUD操作

4.2 衣橱系统模块

  • 功能:管理用户的虚拟衣橱、衣物信息、图片处理等
  • 技术实现
    • 支持衣物分类管理
    • 衣物图片上传和存储
    • 衣物信息的CRUD操作

4.3 穿搭系统模块

  • 功能:处理衣物搭配、AI生成效果图、穿搭方案管理等
  • 技术实现
    • 穿搭方案的CRUD操作
    • 衣物与穿搭方案的关联管理
    • 支持基于场合和季节的穿搭筛选

4.4 推荐系统模块

  • 功能:处理智能衣物推荐、穿搭推荐等
  • 技术实现
    • 基于规则的衣物推荐
    • 基于场合和季节的穿搭推荐

5. 数据库设计

5.1 数据模型

  • User:用户信息
  • UserPreference:用户偏好设置
  • ClothingCategory:衣物分类
  • Clothing:衣物信息
  • ClothingImage:衣物图片
  • Outfit:穿搭方案
  • OutfitClothing:穿搭衣物关联

5.2 数据库关系

User 1:1 UserPreference
User 1:N Clothing
User 1:N Outfit
ClothingCategory 1:N Clothing
Clothing 1:N ClothingImage
Outfit N:M Clothing (through OutfitClothing)

6. API设计

6.1 RESTful API设计规范

  • 使用名词复数形式(如/users而不是/user)
  • 使用连字符(-)分隔单词
  • 使用HTTP方法表示操作类型:
    • GET:获取资源
    • POST:创建资源
    • PUT:更新资源
    • DELETE:删除资源

6.2 核心API接口

6.2.1 用户服务API

功能 接口 方法
用户注册 /api/users/register POST
用户登录 /api/users/login POST
获取个人信息 /api/users/profile GET
更新个人信息 /api/users/profile PUT

6.2.2 衣橱服务API

功能 接口 方法
获取衣物列表 /api/clothing GET
添加衣物 /api/clothing POST
获取衣物详情 /api/clothing/:id GET
更新衣物 /api/clothing/:id PUT
删除衣物 /api/clothing/:id DELETE
上传衣物图片 /api/clothing/:id/images POST
获取分类列表 /api/clothing/categories GET

6.2.3 穿搭服务API

功能 接口 方法
获取穿搭列表 /api/outfits GET
创建穿搭 /api/outfits POST
获取穿搭详情 /api/outfits/:id GET
更新穿搭 /api/outfits/:id PUT
删除穿搭 /api/outfits/:id DELETE
添加衣物到穿搭 /api/outfits/:id/clothing POST

6.2.4 推荐服务API

功能 接口 方法
获取衣物推荐 /api/recommendations/clothing GET
获取搭配推荐 /api/recommendations/outfits GET

7. 部署方案

7.1 开发环境部署

7.1.1 前端部署

# 进入前端目录
cd client

# 安装依赖
npm install

# 启动开发服务器
npm run dev

前端开发服务器将在 http://localhost:3000 启动。

7.1.2 后端部署

# 进入后端目录
cd server

# 安装依赖
npm install

# 启动开发服务器
npm run dev

后端开发服务器将在 http://localhost:5000 启动。

7.2 生产环境部署

7.2.1 前端构建

# 进入前端目录
cd client

# 安装依赖
npm install

# 构建生产版本
npm run build

构建产物将生成在 client/dist 目录。

7.2.2 后端部署

# 进入后端目录
cd server

# 安装依赖
npm install --production

# 启动生产服务器
npm start

8. 测试策略

8.1 测试类型

  • 单元测试:测试单个函数或组件
  • 集成测试:测试模块间的交互
  • 系统测试:测试整个系统的功能

8.2 测试框架

  • 前端测试:Jest + React Testing Library
  • 后端测试:Jest + Supertest

8.3 运行测试

# 运行后端测试
cd server
npm test

9. 开发流程

9.1 代码规范

  • 前端使用 ESLint + Prettier 进行代码检查和格式化
  • 后端使用 ESLint 进行代码检查

9.2 版本控制

  • 使用 Git 进行版本控制
  • 采用 Git Flow 工作流

10. 总结

智能穿搭规划系统采用前后端分离架构,使用 React 和 Node.js 开发,支持用户注册登录、虚拟衣橱管理、穿搭生成和智能推荐等功能。系统设计遵循高可用性、可扩展性、安全性和可维护性原则,支持大量并发用户和数据增长。

通过本系统的实现,用户可以轻松管理个人衣橱,获得智能的穿搭建议和效果图,提升穿搭体验和时尚品味。

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages