Skip to content

cnYui/YUIkesong

Repository files navigation

🧵 Stitch AI - 智能穿搭助手

让AI为你搭配每一天的完美造型

一个基于AI技术的智能穿搭推荐应用,帮助用户轻松管理衣柜、获取个性化穿搭建议,并通过虚拟试穿功能预览搭配效果。

✨ 功能特性

核心功能

  • 🤖 智能推荐引擎 - 基于天气、场合、用户偏好的多维度推荐算法
  • 👔 AI虚拟试穿 - 上传自拍和衣物照片,AI生成试穿效果图
  • 👗 个人衣柜管理 - 数字化管理衣物,智能分类和标签
  • 🌤️ 天气穿搭建议 - 结合实时天气数据,提供合适的穿搭方案
  • 👥 社区分享平台 - 用户分享搭配,形成时尚社区

🚀 创新功能

  • 📸 一键拍照添加 - 支持拍照或截图喜欢的衣服,一键添加到个人衣柜
  • 🎯 Gemini AI智能识别 - 自动识别衣物类别、颜色、风格,智能分类整理
  • 🎬 AI视频生成 - 基于用户衣柜和偏好,自动生成个性化穿搭展示视频(开发中)
  • 💾 离线缓存 - 核心功能离线可用,节省流量
  • 🔄 多设备同步 - 数据实时同步,随时随地访问

🎯 技术栈

前端

  • Flutter - 跨平台移动应用开发框架
  • Dart - Flutter开发语言
  • Provider - 状态管理
  • HTTP - 网络请求

后端

  • Node.js + Express.js - RESTful API服务
  • Supabase - 后端即服务平台
    • PostgreSQL数据库
    • 用户认证服务
    • 文件存储服务
    • 实时数据同步
  • JWT - 用户身份验证

AI与第三方服务

  • Google Gemini AI - 图片识别和处理
  • 高德地图API - 地理位置和天气数据

部署

  • Supabase - 后端服务托管
  • Git - 版本控制
  • GitHub - 代码仓库

🚀 快速开始

环境要求

  • Flutter SDK >= 3.0.0
  • Dart >= 3.0.0
  • Node.js >= 18.0.0
  • Supabase账号

安装步骤

1. 克隆项目

git clone https://github.com/cnYui/YUIkesong.git
cd YUIkesong

2. 后端配置

cd backend/api
npm install

# 创建环境变量文件
cp .env.example .env
# 编辑 .env 文件,填入您的配置

必需的环境变量

  • SUPABASE_URL - Supabase项目URL
  • SUPABASE_SERVICE_ROLE_KEY - Supabase服务密钥
  • JWT_SECRET - JWT密钥

详细配置请参考 SECURITY_SETUP.md

3. 数据库初始化

在Supabase Dashboard中执行SQL迁移脚本:

# 按顺序执行 supabase/ 目录下的SQL文件
# 001_create_tables.sql
# 002_init_categories.sql
# 003_rls_policies.sql
# 004_storage_buckets.sql

4. Flutter前端配置

cd stitch_flutter
flutter pub get

# 使用 dart-define 传递API密钥运行
flutter run \
  --dart-define=GEMINI_API_KEY=your_gemini_key \
  --dart-define=AMAP_API_KEY=your_amap_key \
  --dart-define=SUPABASE_URL=your_supabase_url \
  --dart-define=API_BASE_URL=http://localhost:3000

5. 启动后端服务

cd backend/api
npm start

应用现在应该在 http://localhost:3000 运行。

📁 项目结构

YUIkesong/
├── backend/                 # 后端服务
│   └── api/                 # Express API
│       ├── routes/          # 路由定义
│       ├── server.js        # 服务器入口
│       └── .env.example     # 环境变量模板
├── stitch_flutter/          # Flutter应用
│   ├── lib/                 # 源代码
│   │   ├── config/          # 配置文件
│   │   ├── models/          # 数据模型
│   │   ├── pages/           # 页面组件
│   │   ├── services/        # 服务层
│   │   ├── state/           # 状态管理
│   │   ├── theme/           # 主题配置
│   │   └── widgets/         # 通用组件
│   └── pubspec.yaml         # Flutter依赖配置
├── supabase/                # 数据库迁移脚本
│   ├── 001_create_tables.sql
│   ├── 002_init_categories.sql
│   ├── 003_rls_policies.sql
│   └── 004_storage_buckets.sql
├── docs/                    # 文档目录
│   └── archive/             # 归档的开发文档
├── SECURITY_SETUP.md        # 安全配置指南
├── SUPABASE_DEPLOYMENT_GUIDE.md  # Supabase部署指南
└── README.md                # 项目说明

🔧 配置说明

API密钥获取

Gemini API密钥

  1. 访问 Google AI Studio
  2. 创建API密钥
  3. 复制密钥到配置中

高德地图API密钥

  1. 注册 高德开放平台
  2. 创建应用并获取Key
  3. 选择对应平台类型

Supabase配置

  1. 登录 Supabase Dashboard
  2. 创建新项目
  3. 在 Settings → API 中获取:
    • Project URL
    • Service role key

详细配置步骤请参考 SECURITY_SETUP.md

📖 API文档

后端API文档请查看 backend/api/README.md

主要接口包括:

  • 用户认证(注册、登录、密码重置)
  • 衣柜管理(添加、删除、更新衣物)
  • AI试穿(创建任务、查询结果)
  • 社区功能(发布、评论、点赞)
  • 天气查询

🎓 开发指南

代码规范

  • 遵循Dart官方代码规范
  • 使用ESLint进行JavaScript代码检查
  • 提交前运行 flutter analyze 检查Flutter代码

分支管理

  • master - 生产环境分支
  • main - 开发分支
  • feature/* - 功能开发分支

提交规范

遵循 Conventional Commits

feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
perf: 性能优化
test: 测试相关
chore: 构建/工具链相关

🤝 贡献指南

欢迎贡献代码!请遵循以下步骤:

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

⚠️ 安全提醒

重要:项目中使用了敏感的API密钥,请务必:

  1. 不要将 .env 文件提交到Git
  2. 不要在代码中硬编码API密钥
  3. 使用环境变量管理所有敏感配置
  4. 定期轮换API密钥
  5. 参考 SECURITY_SETUP.md 进行安全配置

📄 许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件

🙏 致谢

📧 联系方式


项目愿景:让每个人都能轻松拥有完美的穿搭,提升生活品质,增强自信。通过AI技术,让时尚不再是少数人的专利,而是每个人都能享受的日常体验。

About

yukesong

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors