基于 Kotlin + Jetpack Compose 的完整电商开源项目分享

🛍️ 一个完全开源免费且功能完善的 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 支持 ⭐ 这对我来说很重要,能给我带来长期更新维护的动力!

📱 项目预览

💡 说明:由于功能模块较多,截图不下,这里仅展示部分界面。更多功能正在持续完善中...

📍 项目地址

Demo 下载

  • Release 版本(推荐)点击下载体验

    • 为日常使用和体验优化的稳定版本,具有最佳性能。
  • Debug 版本(开发者)点击下载体验

    • 注意 :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 最佳实践:

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) 待完善
  • 认证模块 (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 开发的道路上不断学习、共同进步! 🚀

相关推荐
我是好小孩20 分钟前
Android-侧边导航栏的使用
android·gitee
吗喽对你问好20 分钟前
安卓基础布局核心知识点整理
android·gitee
安卓开发者23 分钟前
Android Material Components 全面解析:打造现代化 Material Design 应用
android
教程分享大师32 分钟前
带root权限_中国移动创维DT541_S905L3融合机器改机顶盒刷机教程 当贝纯净版安卓9.0系统线刷包 刷机包
android
wuk99833 分钟前
Android:UI:Drawable:View/ImageView与Drawable
android·ui
whysqwhw2 小时前
Kotlin 中作用域函数 let、with、run、also、apply 的核心使用指南
android
旋风菠萝2 小时前
设计模式---单例
android·java·开发语言
whysqwhw4 小时前
Android Jetpack 中 ViewModel 的全面解析
android
2501_916007477 小时前
iPhone查看App日志和系统崩溃日志的完整实用指南
android·ios·小程序·https·uni-app·iphone·webview
稻草人不怕疼7 小时前
Android 渲染机制小结
android