Yummify
Yummify 是一款功能齐全的餐厅菜单应用程序,旨在演示如何使用受MVVM启发的架构在Flutter中以易于理解的方式构建可扩展且可维护的应用程序。
截图
手机截图
| 1 | 2 | 3 |
|---|---|---|
![]() |
![]() |
![]() |
| 4 | 5 | 6 |
|---|---|---|
![]() |
![]() |
![]() |
平板电脑截图
| 1 | 2 | 3 |
|---|---|---|
![]() |
![]() |
![]() |
| 4 | 5 | 6 |
|---|---|---|
![]() |
![]() |
![]() |
应用功能
- Flutter + REST API (后端服务器,存储)
URL: http://185.223.93.215/login | 测试账户: [email protected] / secret - 使用Stacked模式
- 响应式 (手机 + 平板电脑)
- 用户友好的界面
- Clean Architecture
- 自定义可重用小部件
- 餐厅类别
- 按内容高度设置的底部工作表中的分类餐点
- 使用本地存储 (Hive)
- 下订单并从管理面板查看
- 更多...
我计划将来添加更多功能(欢迎提交PR!)。
未来路线图
- 优化 UI
- Light/Dart Stacked主题
- 添加更多屏幕/功能/用途
安装
- 克隆仓库
git clone https://github.com/Ruslanbek0809/Yummify.git - 然后我们可以使用正常的构建和运行过程
flutter pub get flutter run - 像 `*.g.dart`、`*.iconfig.dart` 这样的文件是自动生成的。如果这些文件有任何问题,只需运行此命令即可重新生成它们。
flutter pub run build_runner build --delete-conflicting-outputs
包
此存储库使用了以下 pub 包
| 包 | 版本 | 用法 |
|---|---|---|
| dio | ^4.0.6 | API* |
| connectivity_plus | ^3.0.2 | 网络* |
| stacked | ^3.0.1 | 状态与架构* |
| stacked_services | ^0.9.9 | 状态与架构服务* |
| stacked_hooks | ^0.2.2 | 状态与架构工具* |
| hive | ^2.2.3 | 存储* |
| hive_flutter | ^1.1.0 | 存储* |
| hive_generator | ^2.0.0 | 存储代码生成* |
| shared_preferences | ^2.0.15 | 持久存储* |
| logger | ^1.1.0 | 日志记录* |
| flutter_hooks | ^0.18.5+1 | 工具* |
| easy_localization | ^3.0.1 | 本地化* |
| collection | ^1.17.0 | 工具* |
| flutter_launcher_icons | ^0.11.0 | 工具* |
| json_annotation | ^4.7.0 | 工具* |
| build_runner | ^2.3.0 | 其他代码生成* |
| stacked_generator | ^0.7.15 | Stacked代码生成* |
| json_serializable | ^6.5.4 | JSON代码生成* |
| cached_network_image | ^3.2.3 | 其他* |
| flutter_screenutil | ^5.6.0 | 其他* |
| carousel_slider | ^4.2.1 | 其他* |
| flutter_svg | ^1.1.6 | 其他* |
| flutter_spinkit | ^5.1.0 | 其他* |
| flash | ^2.0.5 | 其他* |
| shimmer | ^2.0.0 | 其他 |
| bottom_sheet | ^3.1.2 | 其他* |
| badges | ^2.0.3 | 其他* |
| lottie | ^2.2.0 | 其他* |
| dropdown_button2 | ^1.9.2 | 其他* |
*推荐保留,无论您的项目如何。
结论
我将很乐意回答任何问题,请随时提交issue和/或pull request?
如果您喜欢我的项目,请不要忘记给仓库 ⭐ 点星以示支持。
许可证
MIT © Ruslanbek











