Yummify: A Fully-functional Restaurant Menu App using Flutter
Yummify
Yummify is a fully-functional restaurant menu app to demonstrate how we can make a scalable, and maintainable app in an understandable manner using an MVVM inspired architecture in Flutter.
Screenshots
Phone screenshots:
1 | 2 | 3 |
---|---|---|
4 | 5 | 6 |
---|---|---|
Tablet screenshots:
1 | 2 | 3 |
---|---|---|
4 | 5 | 6 |
---|---|---|
App Features:
- Flutter + REST API (Backend Server, Storage)
Url: http://185.223.93.215/login | Test account: operator@gmail.com / secret - Use Stacked pattern
- Responsive (Mobil + Tablet)
- User-friendly interface
- Clean Architecture
- Custom resuable widgets
- Restaurant Categories
- Category meals with bottom sheet based on content height
- Use of local storage (Hive)
- Make your order and view it from admin panel
- More...
I plan to add more in the future (PRs welcome!).
Future Roadmap:
- Polish the UI
- Light/Dart Stacked Theme
- Add more screens/features/functionalities
Installation
- Clone the repo
git clone https://github.com/Ruslanbek0809/Yummify.git
- And then we can use the normal build and run procedure
flutter pub get flutter run
- Some files like
*.g.dart
,*.iconfig.dart
are auto generated. If there is any issue from these files just run this command to regenerate them.flutter pub run build_runner build --delete-conflicting-outputs
Packages
This repository makes use of the following pub packages:
Package | Version | Usage |
---|---|---|
dio | ^4.0.6 | API* |
connectivity_plus | ^3.0.2 | Network* |
stacked | ^3.0.1 | State & Architecture* |
stacked_services | ^0.9.9 | State & Architecture Services* |
stacked_hooks | ^0.2.2 | State & Architecture Tool* |
hive | ^2.2.3 | Storage* |
hive_flutter | ^1.1.0 | Storage* |
hive_generator | ^2.0.0 | Code Generation for Storage* |
shared_preferences | ^2.0.15 | Persistent Storage* |
logger | ^1.1.0 | Logging* |
flutter_hooks | ^0.18.5+1 | Tool* |
easy_localization | ^3.0.1 | Localization* |
collection | ^1.17.0 | Tool* |
flutter_launcher_icons | ^0.11.0 | Tool* |
json_annotation | ^4.7.0 | Tool* |
build_runner | ^2.3.0 | Code Generation for Others* |
stacked_generator | ^0.7.15 | Code Generation for Stacked* |
json_serializable | ^6.5.4 | Code Generation for JSON* |
cached_network_image | ^3.2.3 | Others* |
flutter_screenutil | ^5.6.0 | Others* |
carousel_slider | ^4.2.1 | Others* |
flutter_svg | ^1.1.6 | Others* |
flutter_spinkit | ^5.1.0 | Others* |
flash | ^2.0.5 | Others* |
shimmer | ^2.0.0 | Others |
bottom_sheet | ^3.1.2 | Others* |
badges | ^2.0.3 | Others* |
lottie | ^2.2.0 | Others* |
dropdown_button2 | ^1.9.2 | Others* |
*Recommended to keep regardless of your project.
Conclusion
I will be happy to answer any questions, please feel free to submit an issue and/or pull request 🙂
If you liked my project, don’t forget to ⭐ star the repo to show your support.
License
MIT © Ruslanbek