让AI为你搭配每一天的完美造型
一个基于AI技术的智能穿搭推荐应用,帮助用户轻松管理衣柜、获取个性化穿搭建议,并通过虚拟试穿功能预览搭配效果。
- 🤖 智能推荐引擎 - 基于天气、场合、用户偏好的多维度推荐算法
- 👔 AI虚拟试穿 - 上传自拍和衣物照片,AI生成试穿效果图
- 👗 个人衣柜管理 - 数字化管理衣物,智能分类和标签
- 🌤️ 天气穿搭建议 - 结合实时天气数据,提供合适的穿搭方案
- 👥 社区分享平台 - 用户分享搭配,形成时尚社区
- 📸 一键拍照添加 - 支持拍照或截图喜欢的衣服,一键添加到个人衣柜
- 🎯 Gemini AI智能识别 - 自动识别衣物类别、颜色、风格,智能分类整理
- 🎬 AI视频生成 - 基于用户衣柜和偏好,自动生成个性化穿搭展示视频(开发中)
- 💾 离线缓存 - 核心功能离线可用,节省流量
- 🔄 多设备同步 - 数据实时同步,随时随地访问
- Flutter - 跨平台移动应用开发框架
- Dart - Flutter开发语言
- Provider - 状态管理
- HTTP - 网络请求
- Node.js + Express.js - RESTful API服务
- Supabase - 后端即服务平台
- PostgreSQL数据库
- 用户认证服务
- 文件存储服务
- 实时数据同步
- JWT - 用户身份验证
- Google Gemini AI - 图片识别和处理
- 高德地图API - 地理位置和天气数据
- Supabase - 后端服务托管
- Git - 版本控制
- GitHub - 代码仓库
- Flutter SDK >= 3.0.0
- Dart >= 3.0.0
- Node.js >= 18.0.0
- Supabase账号
git clone https://github.com/cnYui/YUIkesong.git
cd YUIkesongcd backend/api
npm install
# 创建环境变量文件
cp .env.example .env
# 编辑 .env 文件,填入您的配置必需的环境变量:
SUPABASE_URL- Supabase项目URLSUPABASE_SERVICE_ROLE_KEY- Supabase服务密钥JWT_SECRET- JWT密钥
详细配置请参考 SECURITY_SETUP.md
在Supabase Dashboard中执行SQL迁移脚本:
# 按顺序执行 supabase/ 目录下的SQL文件
# 001_create_tables.sql
# 002_init_categories.sql
# 003_rls_policies.sql
# 004_storage_buckets.sqlcd 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:3000cd 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 # 项目说明
- 访问 Google AI Studio
- 创建API密钥
- 复制密钥到配置中
- 注册 高德开放平台
- 创建应用并获取Key
- 选择对应平台类型
- 登录 Supabase Dashboard
- 创建新项目
- 在 Settings → API 中获取:
- Project URL
- Service role key
详细配置步骤请参考 SECURITY_SETUP.md
后端API文档请查看 backend/api/README.md
主要接口包括:
- 用户认证(注册、登录、密码重置)
- 衣柜管理(添加、删除、更新衣物)
- AI试穿(创建任务、查询结果)
- 社区功能(发布、评论、点赞)
- 天气查询
- 遵循Dart官方代码规范
- 使用ESLint进行JavaScript代码检查
- 提交前运行
flutter analyze检查Flutter代码
master- 生产环境分支main- 开发分支feature/*- 功能开发分支
feat: 新功能
fix: 修复bug
docs: 文档更新
style: 代码格式调整
refactor: 代码重构
perf: 性能优化
test: 测试相关
chore: 构建/工具链相关
欢迎贡献代码!请遵循以下步骤:
- Fork本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'feat: Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启Pull Request
重要:项目中使用了敏感的API密钥,请务必:
- 不要将
.env文件提交到Git - 不要在代码中硬编码API密钥
- 使用环境变量管理所有敏感配置
- 定期轮换API密钥
- 参考 SECURITY_SETUP.md 进行安全配置
本项目采用 MIT 许可证 - 详见 LICENSE 文件
- Flutter - 优秀的跨平台框架
- Supabase - 强大的后端即服务平台
- Google Gemini - 先进的AI技术
- 高德地图 - 可靠的地图服务
- 项目地址:https://github.com/cnYui/YUIkesong
- 问题反馈:Issues
项目愿景:让每个人都能轻松拥有完美的穿搭,提升生活品质,增强自信。通过AI技术,让时尚不再是少数人的专利,而是每个人都能享受的日常体验。