开发中 [?? 70% ].

Nibbles – Flutter 美食应用 ???

Nibbles 是一款基于 Flutter 的美食应用,旨在为用户提供一个愉快且用户友好的体验,以便他们探索各种餐点和食品套餐。该应用利用 Bloc 模式和 Cubits 进行高效的状态管理,集成 Firebase Firestore 进行实时数据存储,并包含各种插件来增强其功能。

功能

  • 电子商务体验:享受无缝的电子商务体验,轻松探索各种餐点和食品套餐。

  • 复杂的UI设计:沉浸在视觉上吸引人且复杂的UI中,以获得引人入胜的体验。

  • Firebase集成:通过Firebase Firestore访问实时数据,确保餐点和食品套餐的最新信息。

  • 身份验证:使用Firebase Authentication安全地注册和登录,提供可靠和安全的用户体验。

  • 搜索功能:通过强大的搜索功能,根据偏好轻松查找特定的餐点或食品套餐。

  • 二维码扫描器:通过集成的二维码扫描器快速访问相关信息。

  • 收藏列表:管理您的收藏列表,方便您跟踪喜爱的餐点和食品套餐。

  • 过滤选项:根据特定标准细化您的搜索,以改善整体浏览体验。

  • 联系我们:使用“联系我们”功能与应用管理员联系。

  • 应用信息屏幕:通过“关于”和“隐私”等信息屏幕访问与应用相关的基本信息。

  • 儿童账户:使用专用的AddKidScreen为用户创建儿童账户。

  • 响应式布局:UI设计是响应式的,能够优雅地适应各种屏幕尺寸。

目录结构

该项目组织在几个目录中

  • application:包含功能 Bloc、全局 Cubits 和状态管理逻辑。

  • configs:包含配置文件,如间距、应用文本和排版。

  • core:包含应用的核心组件,如主应用文件、枚举、路由、扩展、常量等。

  • models:包含应用中使用的各种数据模型,包括餐点和用户的结构。

  • presentation:包含应用的用户界面,具有屏幕和组件,以增强视觉体验。

  • repositories:包含餐点、套餐和其他相关数据的存储库。

project_root
│
├── ? application
│   ├── ? feature_blocs
│   │   └── ...
│   ├── ? global_cubits
│   │   └── ...
│   └── ...
│
├── ? configs
│   ├── ? apptext.dart
│   ├── ? app_typography.dart
│   └── ...
│
├── ? core
│   ├── ? app.dart
│   ├── ? enums.dart
│   ├── ? extensions.dart
│   ├── ? constants.dart
│   └── ...
│
├── ? models
│   ├── ? meal.dart
│   ├── ? user.dart
│   └── ...
│
├── ? presentation
│   ├── ? screens
│   │   ├── ? home_screen.dart
│   │   ├── ? search_screen.dart
│   │   └── ...
│   └── ? widgets
│       ├── ? custom_button.dart
│       ├── ? bottom_navbar.dart
│       └── ...      
│
└── ? repositories
    ├── ? meals_repos
    ├── ? packages_repos
    └── ...

依赖项

  • flutter_svg:渲染SVG文件,实现可伸缩且清晰的矢量图形。

  • firebase_core:在Flutter应用中初始化Firebase服务所需的基本功能。

  • cloud_firestore:促进与Cloud Firestore(一种NoSQL文档数据库)的无缝集成。

  • firebase_auth:实现安全的用户身份验证,支持注册和登录流程。

  • smooth_page_indicator:创建平滑且可自定义的页面指示器,以改善导航。

  • buttons_tabbar:提供各种可自定义的标签栏样式,增强视觉吸引力和用户互动。

  • equatable:简化相等性和哈希码方法的实现,方便对象比较。

  • flutter_bloc:一种状态管理库,用于组织和分离业务逻辑与UI组件。

  • carousel_slider:创建轮播滑块,用于实现图像滑块或其他滑动内容。

  • flutter_barcode_scanner:一个用于使用设备摄像头扫描条形码和二维码的插件。

  • url_launcher:在默认网络浏览器中打开URL,促进与外部内容的连接。

  • connectivity_plus:提供一种简单有效的方式来监控设备的网络连接状态。

这些依赖项共同为Nibbles Flutter应用的功能、设计和用户体验做出贡献,确保了一个强大且功能丰富的应用,用于探索餐点和食品套餐。

Blocs和Cubits

  • AuthBloc
  • CategoriesBloc
  • UserBloc
  • SignUpBloc
  • SignInBloc
  • PackagesBloc
  • MealsBloc
  • NavigationCubit
  • FavoriteMealsCubit
  • SearchCubit
  • FavouritePackagesCubit
  • FilterCubit
  • ContactUsCubit
  • KidsCubit
  • KidsStepsCubit
  • AddAddressCubit
  • GetAddressesCubit
  • ConnectivityCubit

屏幕

  • AboutScreen
  • AddKidScreen
  • CategoriesScreen
  • ContactScreen
  • FavoritesScreen
  • HomeScreen
  • IntroScreen
  • LoginScreen
  • MealDetailsScreen
  • MealsByCategoryScreen
  • MoreScreen
  • NoKidsScreen
  • OffersScreen
  • PackagesScreen
  • PrivacyScreen
  • ProfileScreen
  • QrCodeScreen
  • RootScreen
  • SearchScreen
  • SignUpScreen
  • AdsScreen
  • SplashScreen
  • TermsScreen

入门

开始使用Nibbles

  1. 将存储库克隆到本地机器。
  2. 在您首选的Flutter开发环境中打开项目。
  3. 使用flutter pub get确保您已安装必要的依赖项。
  4. 在您首选的模拟器或物理设备上运行应用。

欢迎根据您的需求探索和自定义应用。请分享您的反馈!

许可证

本项目采用MIT许可证,允许灵活性和协作。

祝您编码愉快,与Nibbles一起享受美食! ???

演示

nibbles-50.mp4

authentication.mp4

search-meals-by-qrCode-nibbles.mp4

contactus.mp4

GitHub

查看 Github