开发中 [?? 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
- 将存储库克隆到本地机器。
- 在您首选的Flutter开发环境中打开项目。
- 使用
flutter pub get确保您已安装必要的依赖项。 - 在您首选的模拟器或物理设备上运行应用。
欢迎根据您的需求探索和自定义应用。请分享您的反馈!
许可证
本项目采用MIT许可证,允许灵活性和协作。
祝您编码愉快,与Nibbles一起享受美食! ???
演示
nibbles-50.mp4
authentication.mp4
search-meals-by-qrCode-nibbles.mp4
contactus.mp4