智能衣柜管理系统(Node.js + Express + React + Vite)。
- 账号密码登录(JWT)
- 衣物管理(增删改查)
- 分类管理(按用户隔离)
- 首页统计(总件数、本月新增、分类数、衣物总价)
- 图片上传接口(后端)
SmartWardrobe/
├── apps/
│ ├── frontend/
│ └── backend/
├── packages/ # 可选:共享 utils/types/config
├── infra/
│ ├── docker/
│ │ ├── Dockerfile.frontend
│ │ ├── Dockerfile.backend
│ │ ├── docker-compose.yml
│ │ └── .env.example
│ └── database/
├── Dockerfile # 符号链接 -> infra/docker/Dockerfile.backend
├── docs/
├── design/
│ └── figma-project/
├── scripts/
├── database/ # 运行时 SQLite 数据(保留)
├── start.sh
└── README.md
mkdir -p database/uploads/images database_backup
cp infra/docker/.env.example .env # 首次请编辑 JWT_SECRET
docker compose -f infra/docker/docker-compose.yml up -d --buildmkdir -p database/uploads/images database_backup
cp infra/docker/.env.example .env # 首次请编辑 JWT_SECRET
docker build -t smartwardrobe-private .
docker run -d -p 8080:8080 \
-v $(pwd)/database:/app/database \
-v $(pwd)/database_backup:/app/database_backup \
--name smart-wardrobe \
smartwardrobe-private浏览器访问 **http://127.0.0.1:8080/**(内网则用本机局域网 IP:8080)。
若 CORS 拦截,在 .env 里用 CORS_ORIGINS 追加你的访问地址。
# 查看镜像
docker images | grep smartwardrobe-private
# 打标签(版本管理)
docker tag smartwardrobe-private:latest smartwardrobe-private:v1.0-$(date +%Y%m%d-%H%M%S)# 后端(端口 8080)
cd apps/backend
npm install
npm run start
# 前端(端口 8081)
cd apps/frontend
npm install
npm run dev访问:
POST /api/loginGET /api/categoriesPOST /api/categoriesGET /api/clothingGET /api/clothing/:idPOST /api/clothingPUT /api/clothing/:idDELETE /api/clothing/:id
受保护接口需带
Authorization: Bearer <token>