CoolMallKotlin(青商城)项目全景:Kotlin + Jetpack Compose 打造的完整电商学习项目

原创2026-10-28 23:57:281,871 阅读

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 青商城自定义主题色 Kotlin Compose 电商 App 多主题界面预览

CoolMallKotlin 青商城深色模式 Android 电商应用 Dark 主题界面预览

CoolMallKotlin 青商城中英文国际化 i18n 多语言切换 Android 电商应用界面

🚀 本地运行三步走

  1. 克隆仓库

    git clone https://gitcode.com/gh_mirrors/co/CoolMallKotlin.git
    
  2. 准备环境:JDK 17+(构建脚本中有版本检查,见 settings.gradle.kts 末尾),Android Studio 建议使用最新稳定版

  3. 打开并运行:用 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 开发的全貌就会逐渐清晰。

登录后查看全文
CoolMallKotlin