This project is a Flutter-based restaurant delivery application that includes three primary components: a customer app for food ordering, an admin panel for restaurant management, and a driver panel for delivery logistics. The app integrates with Firebase to provide authentication, real-time data synchronization, push notifications, and other backend services.
The Flutter-based restaurant delivery app is designed to streamline food ordering and delivery, providing a seamless experience for customers, efficient management for restaurant administrators, and effective logistics for delivery drivers. It uses Flutter for cross-platform compatibility and Firebase for robust backend services.
- Menu Browsing: View detailed restaurant menus and add items to the cart.
- Order Placement: Place orders with various payment options.
- Order Tracking: Track order status in real-time.
- User Profiles: Manage profiles, order history, and saved addresses.
- Push Notifications: Receive notifications for order updates and promotions.
- Order Management: Manage orders, assign drivers, and update order statuses.
- Restaurant Management: Update restaurant information, menus, and prices.
- Driver Management: Manage and track delivery drivers.
- Reports and Analytics: Generate reports and analyze key metrics.
- Order Management: View assigned orders and update order status.
- Navigation and Routing: Real-time navigation with mapping services.
- Earnings Tracking: Track earnings and completed deliveries.
- Download and install the latest stable version of the Flutter SDK from the Flutter website.
- Set up environment variables and ensure Flutter is installed correctly by running
flutter doctor
. - Install an IDE like Android Studio or Visual Studio Code, and set up Flutter and Dart plugins.
- Create a Firebase project in the Firebase Console.
- Add your Flutter apps (Android and iOS) to the Firebase project.
- Download the configuration files (
google-services.json
for Android andGoogleService-Info.plist
for iOS), and place them in the appropriate locations within your Flutter project. - Enable necessary Firebase services, such as Firebase Authentication, Firestore, and Firebase Cloud Messaging.
- Create a new Flutter project in your IDE.
- Add Firebase packages to
pubspec.yaml
and runflutter pub get
to install them. - Initialize Firebase in your Flutter app during startup.
- Launch the customer app to browse restaurant's menu.
- Add items to the cart and proceed to checkout, choosing delivery or pickup.
- Track order status in real-time and receive push notifications for updates.
- Manage user profiles, order history, and saved addresses.
- Access the admin panel via a web browser to manage restaurant operations.
- Monitor orders, assign drivers, and update order statuses.
- Manage restaurant information, including menus, prices, and hours of operation.
- Generate reports and analyze sales and delivery metrics.
- Open the driver app to view assigned orders and navigate to delivery locations.
- Update order status during the delivery process.
Contributions to the project are welcome. If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or fix.
- Submit a pull request with a detailed description of your changes.
Please ensure your code follows the project's style guidelines and includes appropriate tests.
Customer
Authentication
Admin
Driver