Piiicks
Piiicks 是一款 Flutter 电子商务应用程序,采用干净的架构精心打造,并由高效的 BLoC 状态管理提供支持,确保了可扩展性、可维护性和最佳性能。凭借时尚的界面和强大的功能,您可以体验无缝的编码过程,这些功能旨在提升在线购物体验。
目录结构。
- lib
- main.dart: 应用程序的入口点。
- ?application ──?blocs/cubits: 包含负责管理应用程序状态的 BLoC(业务逻辑组件)或 Cubit 类。
- ?core: 包含跨应用程序共享的核心功能和实用程序。
- ?configs: 包含项目的配置文件。
- ?di: 依赖注入设置,用于管理依赖项和服务。
- ?data: 管理数据源、存储库和数据模型。
- ?domain: 定义域实体、用例和接口。
- ?presentation ──?screens/widgets: 包含应用程序的 UI 组件、屏幕和小部件。
功能
- 干净的架构:确保模块化和可扩展的架构,以实现长期的可维护性。
- BLoC 状态管理:高效的状态管理,可提供流畅且可预测的用户体验。
用户界面
- 产品屏幕:用户友好的产品显示,方便浏览。
- 类别:在各种产品类别之间无缝导航。
- 产品详情:深入的产品信息,提供全面的视图。
- 搜索功能:强大的搜索功能,可快速查找产品。
- 搜索结果:清晰且相关的搜索结果,方便用户使用。
- 主屏幕:引人入胜的特色产品和类别展示。
- 过滤选项:直观的产品过滤选项,可提供个性化的购物体验。
- 启动屏幕:令人着迷的初始加载屏幕,为应用程序定下基调。
- 地址:轻松管理和编辑用户地址,以实现流畅的订单处理。
- 分页:实现分页以有效加载大量数据,确保更流畅的用户体验。
用户交互
- 排序产品:提供根据价格等标准对产品进行排序的选项。
- 通知:让用户了解订单状态等更新。
用户管理
- 登录/注册:安全的身份验证,可提供个性化体验。
- 购物车:在购买前无缝直观地管理选定商品。
- 用户个人资料:专用部分,用于管理地址、查看订单历史记录和个性化偏好。
附加功能
- 图像缓存和加载优化:使用
cached_network_image包高效加载和缓存网络图像,从而提高性能。 - SVG 支持:利用
flutter_svg包支持 SVG 图像,提供可扩展且清晰的用户界面。 - 数据缓存:使用
shared_preferences包缓存少量数据,通过维护特定状态来改善用户体验。 - 身份验证和安全存储:使用
flutter_secure_storage包实现安全的身份验证,确保敏感用户数据得到安全存储。 - 带有闪光效果的动态 UI:使用
shimmer包结合闪光效果来增强用户界面,提供抛光后的加载体验。 - 动态页面指示器:使用
dots_indicator包实现动态页面指示器,在用户浏览不同屏幕时提供视觉提示。 - HTTP 请求和 API 集成:利用
http包进行 HTTP 请求,并无缝集成外部 API 以获取和更新数据。 - 网络连接检查:利用
internet_connection_checker包通过检查和处理网络连接来确保顺畅的用户体验。 - 依赖注入:利用
get_it包进行高效的依赖注入,提高代码可维护性并有效管理依赖项。 - 函数式编程原则:探索并实现
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
入门
- 克隆仓库。
- 导航到项目目录。
- 运行
flutter pub get来获取依赖项。 - 在您喜欢的 Flutter IDE 中打开项目。
- 在您想要的模拟器或物理设备上运行应用程序。