The Food Delivery Application is a Flutter-based mobile application that facilitates the ordering and delivery of food items. The app is built using Feature-Driven Architecture with separate BLoCs (Business Logic Components) for each feature. Firebase is used as the backend to handle authentication, database management, and storage.
- User authentication and profile management
- Browse restaurants and food items
- Place orders and track delivery status
- Rate and review restaurants
- Flutter: A cross-platform UI toolkit for building natively compiled applications for mobile, web, and desktop from a single codebase.
- Firebase: A platform developed by Google for creating mobile and web applications.
- Bloc Pattern: A state management pattern for Flutter applications, providing a clear separation of concerns and facilitating reactive programming.
- auto_route: A package for declarative routing in Flutter, enabling easy navigation between screens.
- Automated Testing: Unit testing, widget testing, and integration testing are included to ensure the app functions as intended across various scenarios.
Follow these steps to get started with the Food Delivery Application:
-
Clone the Repository: Clone this repository to your local machine.
git clone https://github.com/shihabkandil/eatsy.git
-
Install Dependencies: Navigate into the cloned directory and install the required dependencies.
flutter pub get
if localizations wasn't generated with above command consider using the one below.
flutter gen-l10n
-
Generate Code: Run build_runner to generate necessary code, if needed.
flutter pub run build_runner build
-
Run Tests: Run automated tests to ensure the app's functionality.
flutter test
-
Run the Application: Run the application on an emulator or physical device.
flutter run
-
Explore and Enjoy!: Start exploring and enjoying the Food Delivery Application.