时尚App

描述

这款 eCommerce Fashion Flutter 应用是一款移动应用程序,旨在为用户提供便捷无缝的服装购物体验。该应用拥有用户友好的界面和广泛的服装类别,旨在满足时尚爱好者和寻求最新潮流款式消费者的需求。

主要特点

❖ 用户认证与注册:用户可以创建账户,安全登录,并管理其个人资料以访问个性化功能。

❖ 浏览与搜索:用户可以轻松浏览种类繁多的服装商品,按类别、品牌或价格范围进行组织。搜索功能可实现快速、具体的商品搜索。

❖ 商品详情:每件服装商品都附有详细的商品信息,包括图片和描述。

❖ 购物车管理:用户可以将心仪的商品添加到购物车,查看和更新购物车内容,并根据需要移除商品。

❖ 结账:应用提供安全且流程顺畅的结账流程。

❖ 用户个人资料管理:用户可以管理其个人信息,查看和编辑收货地址,并更新其偏好设置。

架构和代码组织

Clean Architecture (MVVM) 配合 Bloc 状态管理

文件夹结构

  • Config(配置)
    • 应用路由、服务、缓存和权限
    • 语言管理器。
    • 服务定位器 (DI)。
  • 控制器
    • 所有 Cubits 和 blocs。
    • 业务逻辑。
  • 核心
    • 错误处理器和异常。
    • 扩展和函数。
    • 网络信息。
    • Uilts (包含应用字符串、颜色、样式、资源和常量)。
  • 数据层
    • 数据源(远程、本地)。
    • Dio 工厂。
    • 仓库实现。
    • 模型和映射器。
  • 领域层
    • 实体。
    • 仓库接口。
    • 用例
  • 视图 (View)
    • 屏幕 (包含所有UI屏幕、页面、自有小部件)。
    • 小部件。
    • 状态渲染器。

屏幕

  • 启动页。

  • 入门引导。

  • 认证

    • 注册
    • 电子邮件和密码登录。
    • Facebook 登录。
    • Google 登录。
    • 忘记密码。
    • 退出登录。
  • 首页

    • 产品列表视图按类别显示最新时尚服装。
    • 个人资料页面包含账户信息。
    • 目录页面按男女分类服装。
  • Search

    • 按类别、品牌或价格范围搜索服装。
  • 类别

    • 按类别显示服装并过滤商品。
  • 产品详情

    • 每件服装商品都附有详细的商品信息。
  • 收藏夹

    • 包含收藏的商品。
    • 购物车
    • 添加到购物车功能。
    • 从购物车中移除。
  • 结账

    • 设置地址位置。
    • 滑动以支付。
  • 送货地址

    • 添加、删除和更新地址。
    • 从谷歌地图选择位置。
  • 设置

    • 更改应用语言。
    • 启用暗黑模式。
    • 更新用户个人资料。
  • 通知。

  • 关于我们。

  • 隐私政策。

登录与注册

login_registration

主页与侧边栏菜单

Homescreen_menu

商品详情、类别与搜索

productdetail_cate_search

购物车、结账与支付

cart_checkout_payment

送货地址、账户与通用设置

delivery_account_general_settings

收藏夹、关于与应用评分

favourites_faq_about_rate

特性和功能

  • 用户认证和注册。
  • RESTful API。
  • 集成 Firebase 后端。
  • Stripe 集成以支持支付。
  • 按类别、品牌或价格范围浏览和搜索服装。
  • 商品详情页面,包含图片、描述和用户评论。
  • 购物车管理以及添加/移除商品。
  • 送货地址添加/移除/更新地址。
  • 谷歌地图 / 获取您的当前位置。
  • 安全的支付结账流程。
  • 收藏夹功能。
  • 用户个人资料管理。
  • 支持多语言(阿拉伯语、英语)。
  • 支持暗黑模式。
  • 编辑个人资料账户。
  • 设置。
  • 抽屉菜单。
  • 后端
    • 数据库系统,使用 Firebase Firestore。
    • 用户管理,使用 Firebase Authentication
    • 照片存储,使用 Firebase Storage。
    • 支付,使用 Stripe SDK。

  • flutter_svg: ^2.0.6
  • flutter_bloc: ^8.1.3
  • get_it: ^7.6.0
  • firebase_core: ^2.13.1
  • firebase_auth: ^4.6.2
  • google_sign_in: ^6.1.3
  • flutter_facebook_auth: ^5.0.11
  • flutter_advanced_drawer: ^1.3.5
  • equatable: ^2.0.5
  • dartz: ^0.10.1
  • shared_preferences: ^2.1.2
  • dio: ^5.2.1+1
  • retrofit: ^4.0.1
  • pretty_dio_logger: ^1.3.1
  • cached_network_image: ^3.2.3
  • shimmer: ^3.0.0
  • skeletons: ^0.0.3
  • flutter_slidable: ^3.0.0
  • google_maps_flutter: ^2.3.1
  • geolocator: ^9.0.2
  • geocoding: ^2.1.0
  • lottie: ^2.4.0
  • permission_handler: ^10.3.0
  • page_transition: ^2.0.9
  • smooth_page_indicator: ^1.1.0
  • infinite_scroll_pagination: ^3.2.0
  • flutter_phoenix: ^1.1.1
  • internet_connection_checker: ^1.0.0+1
  • easy_localization: ^3.0.2
  • fluttertoast: ^8.2.2
  • cloud_firestore: ^4.8.2
  • flutter_stripe: ^9.2.2
  • image_picker: ^1.0.1
  • firebase_storage: ^11.2.5
  • flutter_dotenv: ^5.1.0

GitHub

查看 Github