Piiicks

Piiicks 是一款 Flutter 电子商务应用程序,采用干净的架构精心打造,并由高效的 BLoC 状态管理提供支持,确保了可扩展性、可维护性和最佳性能。凭借时尚的界面和强大的功能,您可以体验无缝的编码过程,这些功能旨在提升在线购物体验。

目录结构。

  • lib
    • main.dart: 应用程序的入口点。
    • ?application ──?blocs/cubits: 包含负责管理应用程序状态的 BLoC(业务逻辑组件)或 Cubit 类。
    • ?core: 包含跨应用程序共享的核心功能和实用程序。
    • ?configs: 包含项目的配置文件。
    • ?di: 依赖注入设置,用于管理依赖项和服务。
    • ?data: 管理数据源、存储库和数据模型。
    • ?domain: 定义域实体、用例和接口。
    • ?presentation ──?screens/widgets: 包含应用程序的 UI 组件、屏幕和小部件。

功能

  1. 干净的架构:确保模块化和可扩展的架构,以实现长期的可维护性。
  2. BLoC 状态管理:高效的状态管理,可提供流畅且可预测的用户体验。

用户界面

  1. 产品屏幕:用户友好的产品显示,方便浏览。
  2. 类别:在各种产品类别之间无缝导航。
  3. 产品详情:深入的产品信息,提供全面的视图。
  4. 搜索功能:强大的搜索功能,可快速查找产品。
  5. 搜索结果:清晰且相关的搜索结果,方便用户使用。
  6. 主屏幕:引人入胜的特色产品和类别展示。
  7. 过滤选项:直观的产品过滤选项,可提供个性化的购物体验。
  8. 启动屏幕:令人着迷的初始加载屏幕,为应用程序定下基调。
  9. 地址:轻松管理和编辑用户地址,以实现流畅的订单处理。
  10. 分页:实现分页以有效加载大量数据,确保更流畅的用户体验。

用户交互

  1. 排序产品:提供根据价格等标准对产品进行排序的选项。
  2. 通知:让用户了解订单状态等更新。

用户管理

  1. 登录/注册:安全的身份验证,可提供个性化体验。
  2. 购物车:在购买前无缝直观地管理选定商品。
  3. 用户个人资料:专用部分,用于管理地址、查看订单历史记录和个性化偏好。

附加功能

  1. 图像缓存和加载优化:使用 cached_network_image 包高效加载和缓存网络图像,从而提高性能。
  2. SVG 支持:利用 flutter_svg 包支持 SVG 图像,提供可扩展且清晰的用户界面。
  3. 数据缓存:使用 shared_preferences 包缓存少量数据,通过维护特定状态来改善用户体验。
  4. 身份验证和安全存储:使用 flutter_secure_storage 包实现安全的身份验证,确保敏感用户数据得到安全存储。
  5. 带有闪光效果的动态 UI:使用 shimmer 包结合闪光效果来增强用户界面,提供抛光后的加载体验。
  6. 动态页面指示器:使用 dots_indicator 包实现动态页面指示器,在用户浏览不同屏幕时提供视觉提示。
  7. HTTP 请求和 API 集成:利用 http 包进行 HTTP 请求,并无缝集成外部 API 以获取和更新数据。
  8. 网络连接检查:利用 internet_connection_checker 包通过检查和处理网络连接来确保顺畅的用户体验。
  9. 依赖注入:利用 get_it 包进行高效的依赖注入,提高代码可维护性并有效管理依赖项。
  10. 函数式编程原则:探索并实现 dartz 包中的函数式编程原则,从而提高代码清晰度和错误处理能力。

依赖项

environment:
  sdk: '>=3.0.5 <4.0.0'

dependencies:
  flutter:
    sdk: flutter
 # the last versions.
  equatable: # Package for handling value equality without explicit overrides
  dartz:  # Functional programming library for Dart
  shared_preferences: # Plugin for reading and writing key-value pairs to persistent storage
  http: # Package for making HTTP requests
  internet_connection_checker: # Library for checking internet connectivity
  flutter_bloc: # State management library for Flutter applications
  get_it: # Simple service locator for Dart and Flutter projects
  shimmer:  # Package for adding shimmering effect to Flutter applications
  cached_network_image:  # Library for loading and caching network images
  flutter_svg: # Library for rendering SVG files in Flutter applications
  dots_indicator: # Customizable dots indicator for PageView in Flutter
  flutter_secure_storage: # Secure storage plugin for Flutter
  photo_view: # Package for displaying images in Flutter with zooming and panning capabilities
  dotted_border: # Package for creating dotted borders in Flutter
  flutter_local_notifications: # Package for displaying local notifications in Flutter applications

屏幕。

已完成

  • 产品。
  • 类别。
  • 产品详情。
  • 搜索。
  • 搜索结果。
  • 首页。
  • 过滤。
  • 登录。
  • 注册。
  • 启动。
  • 购物车。
  • 个人资料。
  • 地址。
  • 添加/编辑地址。
  • 排序产品。
  • 通知。

待办事项

  • 订单。
  • 结账。
  • 支付。

演示。

home.mp4

filter.mp4

details.mp4

入门

  1. 克隆仓库。
  2. 导航到项目目录。
  3. 运行 flutter pub get 来获取依赖项。
  4. 在您喜欢的 Flutter IDE 中打开项目。
  5. 在您想要的模拟器或物理设备上运行应用程序。

GitHub

查看 Github