Flutter application for exploring recipes and managing favorite meals. Built with modern Flutter architecture patterns including Riverpod for state management and Material Design 3.
- Recipe Categories: Browse meals organized by categories
- Meal Details: Detailed recipe information including ingredients and cooking instructions
- Favorites System: Save and manage favorite meals with persistent storage
- Filtering: Filter recipes by dietary preferences (gluten-free, vegetarian, vegan, lactose-free)
- Navigation: Smooth tab-based navigation with drawer menu
- Framework: Flutter 3.5.1+
- State Management: Riverpod 2.5.1
- Theming: Material Design 3 with Google Fonts (Lato)
- Architecture: Provider pattern with clear separation of concerns
lib/
├── data/ # Static data and dummy content
├── models/ # Data models (Category, Meal)
├── providers/ # Riverpod providers for state management
├── screens/ # Application screens
├── widgets/ # Reusable UI components
└── main.dart # Application entry point
┌─────────────────┐
│ Presentation │ Screens & Widgets
│ Layer │ (UI Components)
└─────────────────┘
│
┌─────────────────┐
│ Provider │ Riverpod Providers
│ Layer │ (State Management)
└─────────────────┘
│
┌─────────────────┐
│ Data │ Models & Static Data
│ Layer │ (Meal, Category)
└─────────────────┘
- Riverpod: Chosen for robust state management with compile-time safety
- Provider Pattern: Clean separation between UI and business logic
- Material Design 3: Modern UI following Google's latest design guidelines
- Flutter SDK 3.5.1 or higher
- Dart SDK compatible with Flutter version
- Clone the repository
git clone https://github.com/yohanangulo/meals-app.git
cd meals-app- Install dependencies
flutter pub get- Run the application
flutter runflutter_riverpod: State management solutiongoogle_fonts: Custom typography with Lato fonttransparent_image: Image loading optimizationcupertino_icons: iOS-style icons
- Clean Code: Following Dart and Flutter best practices
- State Management: Centralized state with Riverpod providers
- Component Architecture: Reusable and testable widget components
- Performance: Optimized image loading and efficient state updates
Built with Flutter | Developed by Yohan Angulo


