# CoolMallKotlin **Repository Path**: youjun520/CoolMallKotlin ## Basic Information - **Project Name**: CoolMallKotlin - **Description**: 基于 Kotlin 与 Jetpack Compose 打造的电商项目,运用 MVVM 架构和模块化设计,遵循 Google 最佳实践,为 Android 开发者提供现代开发参考。 - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 42 - **Created**: 2025-09-10 - **Last Updated**: 2025-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
### 📍 项目地址
- **GitHub 地址**:[https://github.com/Joker-x-dev/CoolMallKotlin](https://github.com/Joker-x-dev/CoolMallKotlin)
- **Gitee 地址**:[https://gitee.com/Joker-x-dev/CoolMallKotlin](https://gitee.com/Joker-x-dev/CoolMallKotlin)
### Demo 下载
- **Release 版本 (推荐)**:[点击下载体验](https://www.pgyer.com/CoolMallKotlinProdRelease)
- 这是为日常使用和体验优化的稳定版本,具有最佳性能。
- **Debug 版本 (开发者)**:[点击下载体验](https://www.pgyer.com/CoolMallKotlinDebug)
- **注意**:Debug 版本的包名带有 `.debug` 后缀,与 Release 版本不同,可以共存安装。
- **内置工具**:集成了 LeakCanary (内存泄漏检测) 和 Chucker (网络请求监控) 等调试工具。
- **性能与体积**:由于开启了调试功能且未进行代码压缩,此版本性能会低于 Release 版本,且 APK 体积更大。
- **快捷访问**:长按桌面图标可快速访问 `Leaks` (内存泄漏) 和 `Open Chucker` (网络监控)。为确保能接收到 Chucker 的实时网络请求通知,建议开启应用的通知权限。
- **支持系统**:Android 8.0 及以上
- **更新说明**:预览版本会不定时更新,可能不会完全同步最新的代码变更
### API 文档
- **接口文档**:[在线查看](https://coolmall.apifox.cn)
- **说明**:接口文档会随着项目开发进度同步更新,主要包含各接口的请求参数和返回数据示例
## 🛠️ 技术栈
### 核心技术
| 类别 | 技术选型 | 版本号 | 说明 |
|--------|-------------------------|----------|------------------------|
| 编程语言 | Kotlin | 2.2.10 | 100% Kotlin 开发 |
| UI 框架 | Jetpack Compose | 2025.08.01 | 声明式 UI 框架 |
| 架构模式 | MVVM + Clean Architecture | - | MVVM + Clean 架构 |
| 依赖注入 | Hilt | 2.57.1 | 基于 Dagger 的依赖注入框架 |
| 异步处理 | Coroutines + Flow | 1.9.0 | 协程 + Flow 响应式编程 |
### 功能模块
| 类别 | 技术选型 | 版本号 | 说明 |
|--------|-------------------------|----------|--------------|
| 导航 | Navigation Compose | 2.9.3 | Compose 导航组件 |
| 数据序列化 | Kotlinx Serialization | 1.9.0 | JSON 序列化处理 |
| 网络请求 | Retrofit + OkHttp | 3.0.0 + 5.1.0 | HTTP 客户端 |
| 图片加载 | Coil Compose | 2.7.0 | 图片加载与缓存 |
| 动画效果 | Lottie Compose | 6.6.7 | After Effects 动画 |
| 权限管理 | XXPermissions | 23.0 | 动态权限申请 |
### 数据存储
| 类别 | 技术选型 | 版本号 | 说明 |
|--------|---------|--------|------------|
| 数据库 | Room | 2.7.2 | SQLite 数据库 |
| 本地存储 | MMKV | 2.2.3 | 高性能键值存储 |
### 开发工具
| 类别 | 技术选型 | 版本号 | 说明 |
|--------|------------|--------|-----------|
| 日志框架 | Timber | 5.0.1 | 日志管理 |
| 网络调试 | Chucker | 4.2.0 | 网络请求监控 |
| 内存检测 | LeakCanary | 2.14 | 内存泄漏检测 |
| 权限管理 | XXPermissions | 26.5 | 动态权限申请 |
| 测试框架 | JUnit | 4.13.2 | 单元测试 + UI测试 |
## 📚 资源与参考
- **资源说明**: 项目中的部分素材来自网络,仅用于学习交流
- **图标来源**: 项目使用的图标库来自[图鸟 Icon](https://github.com/tuniaoTech)
## ✨ 项目特点
- 采用模块化架构设计,各功能模块高度解耦
- 使用 Jetpack Compose 构建现代化 UI
- 遵循 Material Design 3 设计规范
- 支持浅色/深色主题切换
- 支持中英文语言切换
- 采用响应式编程范式
- 完整的测试覆盖 `计划中`
- 大屏适配(平板/折叠屏)`计划中`
## 📱 功能模块目录
> **状态说明:**
> - `已完成` - 功能页面已完整实现并可以正常使用
> - `待完善` - 功能页面基本实现,但还需要进一步优化和完善
> - `待优化` - 功能页面已实现,但需要性能优化或体验优化
> - `仅页面` - 只完成了页面UI,功能逻辑尚未实现
> - `待开发` - 功能页面尚未开发,陆续实现中
- **主模块 (main)**
- 首页 (home) `已完成`
- 分类 (category) `已完成`
- 购物车 (cart) `已完成`
- 我的 (me) `已完成`
- **认证模块 (auth)**
- 登录主页 (login) `已完成`
- 账号密码登录 (account-login) `已完成`
- 注册页面 (register) `已完成`
- 找回密码 (reset-password) `仅页面`
- 短信登录 (sms-login) `已完成`
- **用户体系模块 (user)**
- 个人中心 (profile) `仅页面`
- 收货地址列表 (address-list) `已完成`
- 收货地址详情 (address-detail) `已完成`
- 用户足迹 (footprint) `已完成`
- **订单模块 (order)**
- 订单列表 (list) `已完成`
- 确认订单 (confirm) `已完成`
- 订单详情 (detail) `已完成`
- 订单支付 (pay) `已完成`
- 退款申请 (refund) `已完成`
- 订单评价 (comment) `已完成`
- 订单物流 (logistics) `已完成`
- **商品模块 (goods)**
- 商品搜索 (search) `已完成`
- 商品详情 (detail) `已完成`
- 商品评价 (comment) `已完成`
- 商品分类页面 (category) `已完成`
- **营销模块 (market)**
- 优惠券管理 (coupon) `待完善`
- **客服模块 (cs)**
- 客服聊天 (chat) `待完善`
- **反馈系统 (feedback)**
- 投诉子模块 (complain) `待开发`
- 反馈子模块 (feedback) `待开发`
- **通用模块 (common)**
- 关于我们 (about) `仅页面`
- WebView 页面 (web) `已完成`
- 应用设置 (settings) `仅页面`
- **启动流程模块 (launch)**
- 启动页 (splash) `已完成`
- 引导页 (guide) `已完成`
## 项目结构
```
├── app/ # 应用入口模块
├── build-logic/ # 构建逻辑
├── core/ # 核心模块
│ ├── common/ # 通用工具和扩展
│ ├── data/ # 数据层
│ ├── database/ # 数据库
│ ├── datastore/ # 数据存储
│ ├── designsystem/ # 设计系统
│ ├── model/ # 数据模型
│ ├── network/ # 网络层
│ ├── result/ # 结果处理
│ ├── ui/ # UI组件
│ └── util/ # 工具类
├── feature/ # 功能模块
│ ├── auth/ # 认证模块
│ ├── common/ # 公共模块
│ ├── goods/ # 商品模块
│ ├── launch/ # 启动模块
│ ├── main/ # 主模块
│ ├── market/ # 营销模块
│ ├── order/ # 订单模块
│ └── user/ # 用户模块
└── navigation/ # 导航模块
```
## 🚀 开发计划
这是一个纯粹由个人热情驱动的开源项目。作为一名全职开发者,我只能在工作之余的时间来维护它,每一行代码都凝聚着我下班后和周末的心血。尽管时间有限,我仍然希望通过这个项目创建一个完整的电商学习案例,它更适合作为学习参考而非商业应用,因为某些方面还未达到商业级水准。我的目标是为其他开发者提供一个学习现代
Android 开发技术的实践平台。
由于时间和精力的限制,项目的更新节奏可能不会很快,但我会坚持长期投入,一步一步地完善每个功能模块。如果你有兴趣参与贡献,无论是代码、设计还是文档方面,都将非常欢迎!
### 📱 Android 版本(当前)
- **技术栈**: Kotlin + Jetpack Compose + MVVM
- **架构特点**: 模块化设计 + Clean Architecture
### 🌟 鸿蒙版本(计划中)
- **技术栈**: ArkTS + ArkUI + MVVM
- **架构特点**: 模块化设计 + 原子化服务
### 🍎 iOS 版本(计划中)
- **技术栈**: Swift + SwiftUI + MVVM
- **架构特点**: 模块化设计 + 组件化开发
## 💡 开发理念
- **循序渐进**: 采用迭代式开发方式,每次专注于一个小功能点的完善
- **开放学习**: 及时分享开发过程中的经验和心得,帮助其他开发者学习
- **持续改进**: 根据实际使用反馈不断优化架构和代码设计
## 🎯 当前开发重点
项目的核心功能模块(用户认证、商品展示、购物车、订单支付等)已全面完成,整体电商业务流程完整可用。目前仅有少数不影响主流程的辅助功能(如反馈系统、用户资料设置等)待开发。当前开发重点已转向:
1. **功能完善**: 补充反馈系统、用户资料设置等辅助功能模块
2. **细节优化**: 优化用户体验,完善交互细节和视觉效果
3. **性能提升**: 提升应用性能,优化内存使用和响应速度
4. **代码质量**: 重构部分代码,提高代码可维护性和可读性
## 🤝 参与贡献
欢迎感兴趣的开发者参与项目开发,无论是提交 Issue、Pull Request 还是优化文档,都可以帮助项目变得更好!