Pizza App is a Flutter mobile application designed to offer a sleek and intuitive pizza ordering experience. It uses Firebase Authentication for secure login and registration, and follows the Bloc pattern with Clean Architecture principles for maintainable, scalable, and testable code. Users can browse a variety of pizzas on the home screen and navigate to a detailed view for each pizza.
- Firebase Authentication: Secure user registration, login, and sign-out powered by Firebase.
- Bloc State Management: Ensures a predictable and scalable approach to managing app state.
- Clean Architecture: Organized codebase with separation of concerns, making it easy to extend and maintain.
- Home Screen: Displays a list of pizzas with names and images.
- Pizza Detail Screen: Provides detailed information for each selected pizza.
- Smooth Navigation: User-friendly navigation between home and detail screens.
- Flutter: Cross-platform app development framework.
- Firebase Authentication: For user authentication.
- Bloc (Business Logic Component): For efficient state management.
- Clean Architecture: Promotes a layered and maintainable code structure.
- Firebase Firestore: (Optional) For pizza data storage.
This app follows Clean Architecture principles, organized into layers:
- Presentation Layer: Handles UI and state management using Bloc.
- Domain Layer: Contains business logic and use cases.
- Data Layer: Manages API interactions and data models (e.g., Firebase).
-
Clone the repository:
git clone https://github.com/your-username/pizza_app.git
-
Install dependencies:
flutter pub get
-
Configure Firebase:
- Set up Firebase for both Android and iOS.
- Replace the
google-services.json
andGoogleService-Info.plist
with your Firebase credentials.
-
Run the app:
flutter run
Contributions are welcome! Feel free to open issues, submit pull requests, or suggest features.