CoolMallKotlin(青商城)项目全景:Kotlin + Jetpack Compose 打造的完整电商学习项目
CoolMallKotlin(青商城)项目全景:Kotlin + Jetpack Compose 打造的完整电商学习项目
CoolMallKotlin(青商城)是一个基于 Kotlin + Jetpack Compose 开发的开源 Android 电商应用,也是目前中文社区里少见的完整电商学习项目:从用户登录注册、商品浏览搜索,到购物车、订单支付、退款评价、客服聊天、意见反馈,核心业务流程全部真实可用。它参考了 Google 官方 Now in Android 的架构思想,采用 MVVM + Clean Architecture + 模块化设计,非常适合想系统学习现代 Android 开发的新手阅读源码。
CoolMallKotlin 青商城 Kotlin Jetpack Compose 电商 App 首页界面预览
📖 青商城是什么?能学到什么?
一句话概括:它是一个可以跑起来的"迷你淘宝"。与只演示单个页面 Fragment 的 Demo 不同,CoolMallKotlin 覆盖了一条完整的电商链路:
- ✅ 电商核心流程:商品展示 → 加入购物车 → 确认订单 → 支付 → 退款/评价 → 物流查询
- ✅ 用户体系:账号密码登录、短信登录、注册、收货地址管理、用户足迹
- ✅ 营销功能:优惠券领取与管理
- ✅ 真实可用的客服聊天与意见反馈(连"收到""发送"提示音都有)
- ✅ 工程能力:深浅色主题、自定义主题色、中英文国际化、Navigation3 导航、本地缓存策略
项目的功能模块状态清单可以直接在 README.md 中查看,每个页面都标注了"已完成/待完善/仅页面"等状态,学习时心里有数,不会被未完成的功能误导。
🧩 功能模块一览:九大 feature 模块如何分工
项目按业务域拆分为 10 个 feature 模块,对应真实 App 里的功能分区:
| 模块 | 目录 | 包含页面 |
|---|---|---|
| 主模块 | feature/main |
首页、分类、购物车、我的 |
| 认证模块 | feature/auth |
登录、注册、短信登录、找回密码 |
| 用户模块 | feature/user |
个人中心、收货地址、用户足迹 |
| 订单模块 | feature/order |
订单列表/详情/支付/退款/评价/物流 |
| 商品模块 | feature/goods |
商品搜索、商品详情、商品评价、分类页 |
| 营销模块 | feature/market |
优惠券管理 |
| 客服模块 | feature/cs |
客服聊天 |
| 反馈模块 | feature/feedback |
反馈列表、提交反馈 |
| 通用模块 | feature/common |
设置、协议、WebView 等 |
| 启动模块 | feature/launch |
启动页、引导页 |
CoolMallKotlin 青商城商品详情页与购物车 Kotlin Compose 电商界面预览
CoolMallKotlin 青商城订单确认页与支付流程 Android 电商 App 界面预览
CoolMallKotlin 青商城个人中心与登录注册页面 Kotlin Compose 电商应用预览
CoolMallKotlin 青商城客服聊天与意见反馈功能 Android 电商学习项目界面
每个 feature 模块内部还遵循统一的目录组织:页面 UI(Screen)、状态管理(ViewModel)、导航定义(Navigation)各司其职。项目甚至提供了 Android Studio 代码模板,新页面可以按模板一键生成标准骨架,详见 template/README.md。
🛠️ 技术栈全景:一张表看懂项目用了什么
| 类别 | 技术 | 作用 |
|---|---|---|
| 语言 / UI | Kotlin 2.3 + Jetpack Compose | 100% Kotlin,声明式 UI |
| 架构 | MVVM + Clean Architecture | 分层清晰,易于学习 |
| 依赖注入 | Hilt | 自动装配 Repository、ViewModel |
| 异步 | Coroutines + Flow | 响应式数据流 |
| 网络 | Retrofit + OkHttp | HTTP 请求 |
| 数据库 | Room | SQLite 本地持久化 |
| 本地存储 | MMKV + DataStore | 高性能键值存储 |
| 导航 | Navigation3 | 官方最新导航方案 |
| 图片 / 动画 | Coil、Lottie Compose | 图片加载缓存、AE 动画 |
所有依赖版本统一收敛在 gradle/libs.versions.toml 中维护,这是多模块项目推荐的最佳实践——升级依赖只改一处。
🏗️ 模块化架构解析:core 与 feature 的"洋葱结构"
整个仓库分为三层,依赖方向自上而下单向流动:
app(应用入口)
├── feature/*(业务功能层:auth、goods、order……)
│ └── 依赖 core 提供的基础能力
└── core/*(基础设施层)
├── common 通用工具与扩展
├── data 数据层(Repository 实现)
├── database Room 数据库
├── datastore MMKV / DataStore 存储
├── designsystem 设计系统(颜色/字体/组件库)
├── model 数据模型
├── navigation 导航封装
├── network 网络层
├── result 统一结果处理
├── ui 通用 UI 组件
└── util 工具类
模块清单声明在 settings.gradle.kts 中,打开这个文件就能快速建立全局地图。几个值得新手重点研读的入口:
- 数据层:core/data/ 下的
repository/目录包含 18 个 Repository 实现(如 AuthRepository.kt),是理解"网络 + 本地缓存"双数据源模式的最好样本 - 导航层:core/navigation/ 封装了 Navigation3,AppNavigator.kt 是全局导航中枢
- 设计系统:core/designsystem/README.md 完整记录了颜色、字号、间距、圆角规范和组件库用法,本身就是一份优秀的 UI 规范文档
这种结构的最大好处:业务代码(feature)不直接碰网络和数据库,全部通过 core 层的能力接口协作,后续想替换技术实现(比如换网络库)不影响业务逻辑。
🎨 体验细节:主题、深色模式与国际化
CoolMallKotlin 在"细节工程"上也做了完整示范,这在很多开源项目里是缺失的:
- 深浅色双主题:完整跟随系统深色模式,所有页面均有独立深色配色
- 自定义主题色:支持用户自选 App 主题色并全局生效
- 中英文双语:所有 feature 模块都提供
values与values-en双份字符串资源,语言可实时切换
CoolMallKotlin 青商城深色模式 Android 电商应用 Dark 主题界面预览
🚀 本地运行三步走
-
克隆仓库
git clone https://gitcode.com/gh_mirrors/co/CoolMallKotlin.git -
准备环境:JDK 17+(构建脚本中有版本检查,见 settings.gradle.kts 末尾),Android Studio 建议使用最新稳定版
-
打开并运行:用 Android Studio 打开项目根目录,等待 Gradle 同步完成后,直接 Run
app模块即可
💡 提示:项目最低支持 Android 6.0,真机调试体验最佳。
🎯 谁最适合学这个项目?
- Jetpack Compose 新手:项目 100% 使用 Compose 开发,页面组织方式(Screen + ViewModel + Navigation 三件套)可以直接抄作业
- 架构学习者:MVVM + Clean Architecture 的落地不是"纸上谈兵",每个 core 模块都有明确的职责边界
- 准备面试的 Android 开发者:依赖注入(Hilt)、响应式编程(Flow)、导航、本地缓存等高频考点全部有真实代码可对照
CoolMallKotlin(青商城)不是一个"看完就忘"的 Demo,而是一份可以逐模块精读、逐个页面拆解的完整电商学习项目。打开 README.md 对照功能清单,从你最感兴趣的一个页面入手,顺着导航 → 页面 → ViewModel → Repository 的路径追下去,现代 Android 开发的全貌就会逐渐清晰。

