🛍️ 一个完全开源免费且功能完善的 Android 电商项目
作为一名 Android 开发爱好者,我在学习 Jetpack Compose 的过程中发现其生态仍有完善空间,因此开发了「青商城」项目。该项目专为国内开发环境设计,旨在为社区提供实用的 Compose 代码参考,帮助开发者快速掌握现代 Android 开发技术,同时也能对我所学的知识进行巩固和分享。
🌟 项目亮点
100% Kotlin 开发:全面拥抱现代语言特性
Jetpack Compose UI:声明式 UI 框架,开发效率显著提升
模块化架构:参考 Google 官方 Now in Android 最佳实践
完整电商功能:涵盖用户认证、商品展示、购物车、支付、订单等
现代化技术栈:Hilt、Coroutines、Flow、Room 等主流技术
开源学习:提供完整的接口文档和代码参考
项目涵盖了 Android 开发中的常见场景:
网络请求、分页加载、深色模式
国际化、支付集成
第三方库整合
模块化架构
整体架构参考了 Google 官方的 Now in Android 项目,采用当前主流技术栈实现。目前已完成的基础功能包括:
用户登录认证系统
商品列表展示与搜索分类
购物车管理功能
订单流程与在线客服
后续将逐步完善优惠券以及商品评价等功能(具体可查看项目中的功能模块计划目录)。
这个项目凝聚了我业余时间的全部心血,从代码实现到 UI 设计再到动画效果,都力求打造流畅生动的用户体验。希望能为开发者提供有价值的参考,同时我也提供了完整的接口文档,期待大家的建议与反馈,共同学习进步。
如果项目对您有帮助,请给个 Star 支持 ⭐ 这对我来说很重要,能给我带来长期更新维护的动力!
📱 项目预览
💡 说明:由于功能模块较多,截图不下,这里仅展示部分界面。更多功能正在持续完善中...
📍 项目地址
GitHub 地址:https://github.com/Joker-x-dev/CoolMallKotlin
Gitee 地址: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 及以上
更新说明:预览版本会不定时更新,可能不会完全同步最新的代码变更
🛠️ 技术选型
项目采用了当前 Android 开发的主流技术栈:
核心技术
Kotlin:100% Kotlin 开发,享受现代语言特性
Jetpack Compose:声明式 UI 框架,开发效率显著提升
MVVM + Clean Architecture:清晰的分层架构,便于维护和测试
Hilt:Google 官方依赖注入框架,简化依赖管理
Coroutines + Flow:协程和响应式编程,优雅处理异步操作
功能模块
Navigation Compose:Compose 导航组件
Retrofit + OkHttp:网络请求处理
Room:本地数据库存储
MMKV:高性能键值存储
Coil:图片加载与缓存
Lottie:动画效果支持
架构设计
项目采用模块化架构,参考 Google 官方的 Now in Android 最佳实践:
├── 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/ # 导航模块
模块化的优势:
🔧 职责分离:降低模块间耦合,提高代码可维护性
👥 并行开发:支持团队协作,提升开发效率
⚡ 增量编译:显著提升构建速度,优化开发体验
🧪 便于测试:模块化设计便于单元测试和功能验证
功能模块目录
注:文档更新可能略滞后于代码开发进度,最新状态请查看项目中的 README.md 文件。
状态说明:
已完成 - 功能页面已完整实现并可以正常使用
待完善 - 功能页面基本实现,但还需要进一步优化和完善
待优化 - 功能页面已实现,但需要性能优化或体验优化
仅页面 - 只完成了页面UI,功能逻辑尚未实现
待开发 - 功能页面尚未开发,陆续实现中
主模块 (main)
首页 (home) 待完善
分类 (category) 已完成
购物车 (cart) 已完成
我的 (me) 待完善
认证模块 (auth)
登录主页 (login) 已完成
账号密码登录 (account-login) 已完成
注册页面 (register) 已完成
找回密码 (reset-password) 仅页面
短信登录 (sms-login) 已完成
用户体系模块 (user)
个人中心 (profile) 仅页面
设置模块 (settings) 待开发
收货地址列表 (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) 已完成
启动流程模块 (launch)
启动页 (splash) 待开发
引导页 (guide) 待开发
🤝 参与贡献
欢迎所有对 Android 开发感兴趣的朋友参与项目贡献!
🐛 Bug 反馈:发现问题请提交 Issue
💡 功能建议:有好的想法欢迎讨论
🔧 代码贡献:提交 Pull Request 改进项目
📖 文档完善:帮助改进项目文档
如果这个项目对你有帮助,请不要忘记给个 ⭐ Star 支持一下!这对我来说意义重大,也是我持续更新的动力源泉。
让我们一起在 Android 开发的道路上不断学习、共同进步! 🚀
这一切,似未曾拥有