🛍️ 一个完全开源免费且功能完善的 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 地址 :github.com/Joker-x-dev...
- Gitee 地址 :gitee.com/Joker-x-dev...
Demo 下载
-
Release 版本(推荐) :点击下载体验
- 为日常使用和体验优化的稳定版本,具有最佳性能。
-
Debug 版本(开发者) :点击下载体验
- 注意 :Debug 版本的包名带有
.debug
后缀,与 Release 版本不同,可以共存安装。 - 内置工具:集成了 LeakCanary(内存泄漏检测)和 Chucker(网络请求监控)等调试工具。
- 性能与体积:由于开启了调试功能且未进行代码压缩,此版本性能低于 Release 版本,且 APK 体积更大。
- 快捷访问 :长按桌面图标可快速访问
Leaks
(内存泄漏)和Open Chucker
(网络监控)。为确保能接收到 Chucker 的实时网络请求通知,建议开启应用的通知权限。
- 注意 :Debug 版本的包名带有
-
支持系统: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 最佳实践:
bash
├── 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)
待完善
- 首页 (home)
-
认证模块 (auth)
- 登录主页 (login)
已完成
- 账号密码登录 (account-login)
已完成
- 注册页面 (register)
已完成
- 找回密码 (reset-password)
仅页面
- 短信登录 (sms-login)
已完成
- 登录主页 (login)
-
用户体系模块 (user)
- 个人中心 (profile)
仅页面
- 设置模块 (settings)
待开发
- 收货地址列表 (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)
- 投诉子模块 (complain)
待开发
- 反馈子模块 (feedback)
待开发
- 投诉子模块 (complain)
-
通用模块 (common)
- 关于我们 (about)
仅页面
- WebView 页面 (web)
已完成
- 关于我们 (about)
-
启动流程模块 (launch)
- 启动页 (splash)
待开发
- 引导页 (guide)
待开发
- 启动页 (splash)
🤝 参与贡献
欢迎所有对 Android 开发感兴趣的朋友参与项目贡献!
- 🐛 Bug 反馈:发现问题请提交 Issue
- 💡 功能建议:有好的想法欢迎讨论
- 🔧 代码贡献:提交 Pull Request 改进项目
- 📖 文档完善:帮助改进项目文档
如果这个项目对你有帮助,请不要忘记给个 ⭐ Star 支持一下!这对我来说意义重大,也是我持续更新的动力源泉。
让我们一起在 Android 开发的道路上不断学习、共同进步! 🚀