A fullstack Food Ordering App made in Flutter with Firebase, EmailJS
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.