Food Ordering App 🛎️
A fullstack Food Ordering App made in Flutter with Firebase, EmailJS.
Features 🚀
- Menu item selection.
- Add item to your cart.
- Make QR payment (TODO: add payment API).
- Sync order list & bills to Kitchen App.
- Print reciept & email e-reciept
Built With 🛠
- Flutter (https://flutter.dev/) – UI toolkit for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase.
- flutter_dotenv (https://pub.dev/packages/flutter_dotenv) – A package for loading environment variables from a .env file.
- provider (https://pub.dev/packages/provider) – A package for managing app state and dependencies in Flutter.
- fluttertoast (https://pub.dev/packages/fluttertoast) – A package for showing toast messages in Flutter.
- cloud_firestore (https://pub.dev/packages/cloud_firestore) – A package for accessing and managing data in Firestore, a NoSQL cloud database by Firebase.
- firebase_core (https://pub.dev/packages/firebase_core) – A package for initializing and configuring Firebase services.
- firebase_storage (https://pub.dev/packages/firebase_storage) – A package for storing and retrieving files in Firebase Cloud Storage.
- cached_network_image (https://pub.dev/packages/cached_network_image) – A package for caching images from network URLs in Flutter.
- flutter_exit_app (https://pub.dev/packages/flutter_exit_app) – A package for exiting the Flutter app.
- email_validator (https://pub.dev/packages/email_validator) – A package for validating email addresses in Flutter.
- pdf (https://pub.dev/packages/pdf) – A package for creating PDF documents in Flutter.
- emailjs (https://pub.dev/packages/emailjs) – A package for sending email messages from Flutter using EmailJS services.
- path_provider (https://pub.dev/packages/path_provider) – A package for accessing the device’s file system in Flutter.
- intl (https://pub.dev/packages/intl) – A package for internationalizing Flutter apps.
- nonce (https://pub.dev/packages/nonce) – A package for generating random nonces in Flutter.
- rsa_encrypt (https://pub.dev/packages/rsa_encrypt) – A package for encrypting and decrypting data using RSA encryption in Flutter.
- qr_flutter (https://pub.dev/packages/qr_flutter) – A package for generating QR codes in Flutter.
Structure for app 🗼
lib # Root Package
├── models #source of data
| ├── database #all firebase functions (firestore,cloud storage)
|
├── providers #state management
|
├── screens #ui screen for each pages
| ├── home
| ├── menu
| ├── cart
| ├── billing
| ├── paymethod
| ├── QR payment
| ├── payment successful
|
|
├── utils #utility classes
|
└── main.dart #entry point
Platform Supported 💻📱
- Android
- Web
- iOS
How To Run This Project 📱:
#Running the App To run the app using the “dev” flavor and the main_dev.dart entry point file on Chrome browser, follow these steps: 1.Open a terminal window. 2.Navigate to the root directory of your Flutter project using the cd command. 3.Run the following command: flutter run -d chrome –web-renderer html –flavor dev -t lib/main_dev.dart
4.The app should be launched in a new tab in your Chrome browser.