这是一个基于 Kotlin 和 Jetpack Compose 打造的开源电商学习项目,核心功能已基本完成。项目采用了 Google 推荐的应用架构和最佳实践,参考了 Now in Android 的架构设计,旨在展示如何运用现代 Android 开发技术构建一个完整的电商应用。项目具备完整的电商业务流程,包括用户认证、商品展示、购物车、订单支付等核心功能,适合开发者学习参考现代 Android 开发技术。
作为热爱技术的个人开发者,我将工作之外半年多的时间都投入到这个项目中。每一个功能的实现、每一次代码的优化,都是我在闲暇时间精心打磨的成果。尽管进度可能不如专职团队那么快,而且某些功能的实现还不够完善,但我会持续改进,不断完善。如果你对 Android 开发感兴趣,无论是学习还是共同创造,都欢迎加入。
如果项目对您有帮助,请给个 Star 支持 ⭐ 这对我来说很重要,能给我带来长期更新维护的动力!
💡 说明:由于功能模块较多,截图不下,这里仅展示部分界面,可下载体验完整功能。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- **GitHub 地址 **:https://github.com/Joker-x-dev/CoolMallKotlin
- **Gitee 地址 **:https://gitee.com/Joker-x-dev/CoolMallKotlin
-
Release 版本(推荐 4MB):点击下载体验
- 为日常使用和体验优化的稳定版本,具有最佳性能和体积。
-
Debug 版本(开发者 19MB):点击下载体验
- 注意:Debug 版本的包名带有
.debug
后缀,与 Release 版本不同,可以共存安装。 - 内置工具:集成了 LeakCanary(内存泄漏检测)和 Chucker(网络请求监控)等调试工具。
- 性能与体积:由于开启了调试功能且未进行代码压缩,此版本性能低于 Release 版本,且 APK 体积更大。
- 快捷访问:长按桌面图标可快速访问
Leaks
(内存泄漏)和Open Chucker
(网络监控)。为确保能接收到 Chucker 的实时网络请求通知,建议开启应用的通知权限。
- 注意:Debug 版本的包名带有
-
支持系统:Android 8.0 及以上
-
更新说明:预览版本会不定时更新,可能不会完全同步最新的代码变更
- 接口文档:在线查看
- 说明:接口文档会随着项目开发进度同步更新,主要包含各接口的请求参数和返回数据示例
类别 | 技术选型 | 版本号 | 说明 |
---|---|---|---|
编程语言 | Kotlin | 2.2.10 | 100% Kotlin 开发 |
UI 框架 | Jetpack Compose | 2025.09.00 | 声明式 UI 框架 |
架构模式 | MVVM + Clean Architecture | - | MVVM + Clean 架构 |
依赖注入 | Hilt | 2.57.1 | 基于 Dagger 的依赖注入框架 |
异步处理 | Coroutines + Flow | 1.9.0 | 协程 + Flow 响应式编程 |
类别 | 技术选型 | 版本号 | 说明 |
---|---|---|---|
导航 | Navigation Compose | 2.9.4 | 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 | 26.5 | 动态权限申请 |
类别 | 技术选型 | 版本号 | 说明 |
---|---|---|---|
数据库 | Room | 2.8.0 | 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
- 现代化架构: 采用模块化设计 + Clean Architecture,各功能模块高度解耦
- 声明式 UI: 使用 Jetpack Compose 构建现代化用户界面
- 设计规范: 严格遵循 Material Design 3 设计规范和最佳实践
- 主题适配: 完整支持浅色/深色主题动态切换
- 国际化: 支持中英文语言切换,便于全球化推广
待完善
- 响应式编程: 基于 Coroutines + Flow 的响应式编程范式
- 完整的测试覆盖
计划中
- 大屏适配(平板/折叠屏)
计划中
状态说明:
已完成
- 功能页面已完整实现并可以正常使用待完善
- 功能页面基本实现,但还需要进一步优化和完善待优化
- 功能页面已实现,但需要性能优化或体验优化仅页面
- 只完成了页面UI,功能逻辑尚未实现待开发
- 功能页面尚未开发,陆续实现中
-
主模块 (main)
- 首页 (home)
已完成
- 分类 (category)
已完成
- 购物车 (cart)
已完成
- 我的 (me)
已完成
- 首页 (home)
-
认证模块 (auth)
- 登录主页 (login)
已完成
- 账号密码登录 (account-login)
已完成
- 注册页面 (register)
已完成
- 找回密码 (reset-password)
仅页面
- 短信登录 (sms-login)
已完成
- 登录主页 (login)
-
用户体系模块 (user)
- 个人中心 (profile)
仅页面
- 收货地址列表 (address-list)
已完成
- 收货地址详情 (address-detail)
已完成
- 用户足迹 (footprint)
已完成
- 个人中心 (profile)
-
订单模块 (order)
- 订单列表 (list)
已完成
- 确认订单 (confirm)
已完成
- 订单详情 (detail)
已完成
- 订单支付 (pay)
已完成
- 退款申请 (refund)
已完成
- 订单评价 (comment)
已完成
- 订单物流 (logistics)
已完成
- 订单列表 (list)
-
商品模块 (goods)
- 商品搜索 (search)
已完成
- 商品详情 (detail)
已完成
- 商品评价 (comment)
已完成
- 商品分类页面 (category)
已完成
- 商品搜索 (search)
-
营销模块 (market)
- 优惠券管理 (coupon)
待完善
- 优惠券管理 (coupon)
-
客服模块 (cs)
- 客服聊天 (chat)
待完善
- 客服聊天 (chat)
-
反馈模块 (feedback)
- 反馈列表 (list)
已完成
- 提交反馈 (submit)
已完成
- 反馈列表 (list)
-
通用模块 (common)
- 关于我们 (about)
仅页面
- WebView 页面 (web)
已完成
- 应用设置 (settings)
仅页面
- 用户协议 (user-agreement)
已完成
- 隐私政策 (privacy-policy)
已完成
- 贡献者列表 (contributors)
已完成
- 关于我们 (about)
-
启动流程模块 (launch)
- 启动页 (splash)
已完成
- 引导页 (guide)
已完成
- 启动页 (splash)
├── app/ # 应用入口模块
├── build-logic/ # 构建逻辑
├── core/ # 核心模块
│ ├── common/ # 通用工具和扩展
│ ├── data/ # 数据层
│ ├── database/ # 数据库
│ ├── datastore/ # 数据存储
│ ├── designsystem/ # 设计系统
│ ├── model/ # 数据模型
│ ├── network/ # 网络层
│ ├── result/ # 结果处理
│ ├── ui/ # UI组件
│ └── util/ # 工具类
├── feature/ # 功能模块
│ ├── auth/ # 认证模块
│ ├── common/ # 公共模块
│ ├── cs/ # 客服模块
│ ├── feedback/ # 反馈模块
│ ├── goods/ # 商品模块
│ ├── launch/ # 启动模块
│ ├── main/ # 主模块
│ ├── market/ # 营销模块
│ ├── order/ # 订单模块
│ └── user/ # 用户模块
└── navigation/ # 导航模块
这是一个纯粹由个人热情驱动的开源项目。作为一名全职开发者,我只能在工作之余的时间来维护它,每一行代码都凝聚着我下班后和周末的心血。尽管时间有限,我仍然希望通过这个项目创建一个完整的电商学习案例,它更适合作为学习参考而非商业应用,因为某些方面还未达到商业级水准。我的目标是为其他开发者提供一个学习现代 Android 开发技术的实践平台。
由于时间和精力的限制,项目的更新节奏可能不会很快,但我会坚持长期投入,一步一步地完善每个功能模块。如果你有兴趣参与贡献,无论是代码、设计还是文档方面,都将非常欢迎!
- 技术栈: Kotlin + Jetpack Compose + MVVM
- 架构特点: 模块化设计 + Clean Architecture
- 技术栈: ArkTS + ArkUI + MVVM
- 架构特点: 模块化设计 + 原子化服务
- 技术栈: Swift + SwiftUI + MVVM
- 架构特点: 模块化设计 + 组件化开发
- 循序渐进: 采用迭代式开发方式,每次专注于一个小功能点的完善
- 开放学习: 及时分享开发过程中的经验和心得,帮助其他开发者学习
- 持续改进: 根据实际使用反馈不断优化架构和代码设计
- 质量优先: 注重代码质量和用户体验,而非功能数量的堆砌
- 社区驱动: 欢迎开发者参与贡献,共同打造优质的学习项目
项目的核心电商业务流程已全面完成并稳定运行,包括用户认证、商品展示、购物车、订单支付等主要功能模块。当前开发重点已从功能实现转向质量提升和生态完善:
- 辅助功能完善: 完成用户资料编辑、应用设置等辅助功能模块
- 用户体验优化: 细化交互动效,完善视觉反馈,提升整体使用体验
- 性能深度优化: 内存使用优化、启动速度提升、页面渲染性能调优
- 代码质量提升: 重构历史代码,提高可维护性,完善单元测试覆盖
- 多端生态扩展: 推进鸿蒙版本和 iOS 版本的开发计划
- 社区建设: 完善开发文档,建立贡献者指南,促进开源社区发展
这是一个开放的学习项目,欢迎所有对 Android 开发感兴趣的开发者参与贡献!
- 代码贡献: 提交 Pull Request,完善功能实现或修复问题
- 问题反馈: 通过 Issue 报告 Bug 或提出功能建议
- 文档优化: 完善项目文档、添加使用说明或开发指南
- 设计支持: 提供 UI/UX 设计建议或素材资源
- 测试协助: 参与功能测试,提供使用反馈和改进建议
- 提交代码前请确保遵循项目的编码规范
- 新功能开发建议先创建 Issue 讨论可行性
- 欢迎分享学习心得和技术总结
让我们一起打造一个优质的 Android 学习项目! 🚀