- Overview
- Why AI Recipe Generator?
- Key Features
- Architecture
- Getting Started
- Usage
- Project Structure
- Screenshots
- Contributing
- License
AI Recipe Generator is a smart cooking companion app built with Flutter. It helps users discover new recipes based on the ingredients they have at home. By leveraging advanced AI, it generates detailed recipes complete with instructions, cooking time, and difficulty levels, tailored to your preferences.
Cooking should be fun, not a chore. Often we find ourselves staring at a fridge full of ingredients with no idea what to make. AI Recipe Generator solves this by:
- Reducing Food Waste: Use what you already have.
- Saving Time: No need to browse through endless recipe blogs.
- Personalization: Get recipes that fit your specific dietary needs and cuisine preferences.
- AI-Powered Generation: Instantly generate unique recipes based on ingredients.
- Smart Suggestions: Get personalized recipe ideas based on your history and preferences.
- Save Favorites: Keep your best discoveries saved locally for offline access.
- Detailed Instructions: Step-by-step cooking guides with timing and difficulty.
- PDF Export: Share or print recipes easily.
- Dark/Light Mode: Beautiful UI that adapts to your system theme.
The application follows Clean Architecture principles to ensure separation of concerns, scalability, and testability.
- Framework: Flutter
- Language: Dart
- State Management: Riverpod
- Networking: Dio
- Local Storage: Hive
- Animations: Flutter Animate & Lottie
- Code Generation: Freezed & JSON Serializable
- PDF Generation: pdf & printing
Follow these instructions to get a copy of the project up and running on your local machine.
- Flutter SDK (latest stable version)
- Dart SDK
- An API Key for the AI service (e.g., Gemini)
-
Clone the repository
git clone https://github.com/yourusername/ai_recipe_generator.git cd ai_recipe_generator -
Install dependencies
flutter pub get
-
Run Code Generator
dart run build_runner build --delete-conflicting-outputs
-
Run the App
flutter run
- Onboarding: Complete the initial setup to verify your preferences.
- Input Ingredients: Enter the items you have in your kitchen.
- Generate: Tap "Create Recipe" and watch the magic happen.
- View & Save: Browse the generated recipe details and save it to your Favorites.
- Suggestions: Check the "Suggestions" tab for daily inspiration.
lib/
βββ core/ # Core utilities, theme, and shared widgets
βββ data/ # Data layer (API calls, local database implementation)
βββ domain/ # Domain layer (Entities, Use Cases, Repository Interfaces)
βββ presentation/ # UI layer (Screens, Widgets, Riverpod Providers)
βββ main.dart # App entry point
- Providers: Managed using Riverpod for dependency injection and state management.
- Services:
RecipeRemoteDataSource: Handles AI API communication.RecipeLocalDataSource: Manages Hive database storage.
| Splash Screen | Onboarding | Home Screen |
|---|---|---|
![]() |
![]() |
![]() |
| Suggestions | Generated Recipe | Favorites |
|---|---|---|
![]() |
![]() |
![]() |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.






