10BC0 GitHub - Rasheduzzaman-Rochi/food_app: Contributed to Flavour Fusion by implementing the Blog Section and Blog Post features with API integration for dynamic content management.
[go: up one dir, main page]

Skip to content

Contributed to Flavour Fusion by implementing the Blog Section and Blog Post features with API integration for dynamic content management.

Notifications You must be signed in to change notification settings

Rasheduzzaman-Rochi/food_app

 
 

Repository files navigation

Food App Logo

Food App

A feature-rich Flutter application for discovering, sharing, and managing recipes.
View Demo · Report Bug · Request Feature


About The Project

Food App is a mobile application built with Flutter, designed for food enthusiasts. It provides a platform to explore new recipes, manage personal recipes, and engage with a community of food lovers. The app is built with a clean architecture, ensuring scalability and maintainability.

Key Features

  • Dynamic Home Screen: A welcoming home page with a recipe search bar and a horizontal carousel of recipe categories.
  • Comprehensive Recipe Management:
    • View Recipes: Browse a list of recipes with details like title, description, and rating.
    • Add Recipes: A dedicated screen to add new recipes with a form for all required fields, including dynamic ingredient inputs and local image picking.
    • Edit Recipes: Modify existing recipes with pre-populated forms.
    • Delete Recipes: Remove recipes with a confirmation dialog.
    • Like Recipes: An interactive "like" button on each recipe that updates the rating with an optimistic UI approach.
  • User Authentication: Secure sign-up and sign-in functionality (UI placeholders).
  • Profile Management: Customize your user profile (UI placeholders).
  • Localization: Support for multiple languages (English and Bengali).

Tech Stack

  • Framework: Flutter
  • Language: Dart
  • State Management: Provider
  • Dependencies:
    • image_picker: For selecting images from the local gallery.
    • flutter_svg: For rendering SVG images.
    • pinput: For OTP/PIN input fields.
    • intl: For internationalization and localization.

Architecture

The project follows a feature-first architectural approach to keep the codebase organized and scalable. It includes a centralized RecipeApiService to handle all data operations, separating the data layer from the UI and business logic.

lib
├── app
│   ├── app_colors.dart
│   ├── app_configs.dart
│   ├── app_logo.dart
│   ├── app_routes.dart
│   ├── app_theme.dart
│   ├── app.dart
│   └── assets_path.dart
├── core
│   ├── extensions
│   │   └── localization_extension.dart
│   └── utils
│       ├── supabase_credentials.dart
│       └── supabase_provider.dart
├── features
│   ├── auth
│   │   ├── domain
│   │   │   └── models
│   │   │       └── user.dart
│   │   └── ui
│   │       ├── providers
│   │       │   └── user_provider.dart
│   │       └── screens
│   │           ├── forget_password_screens.dart
│   │           ├── otp_verify_screens.dart
│   │           ├── sign_in_screens.dart
│   │           └── sign_up_screens.dart
│   ├── blog
│   │   └── ui
│   │       ├── screens
│   │       │   ├── blog_post_screen.dart
│   │       │   └── blog_section_screen.dart
│   │       └── widgets
│   │           ├── blog_post_card_widget.dart
│   │           └── blog_section_card_widget.dart
│   ├── contact
│   │   └── ui
│   │       ├── model
│   │       │   ├── contact_repository.dart
│   │       │   └── contact_us.dart
│   │       └── screens
│   │           └── contact_screens.dart
│   ├── home
│   │   └── ui
│   │       ├── data
│   │       │   └── dummy_recipes.dart
│   │       ├── model
│   │       │   └── RecipeModel.dart
│   │       └── screens
│   │           ├── home_screens.dart
│   │           └── widgets
│   │               ├── category_items.dart
│   │               ├── custom_appbar.dart
│   │               ├── drawer.dart
│   │               ├── halfTransparentImage.dart
│   │               ├── home_slider.dart
│   │               ├── imageWithGradientOverlay.dart
│   │               ├── recipe_page_down.dart
│   │               └── recipeCard.dart
│   ├── profile
│   │   └── ui
│   │       └── screens
│   │           ├── change_password_screen.dart
│   │           ├── edit_profile_screens.dart
│   │           └── profile_screens.dart
│   ├── recipe
│   │   ├── data
│   │   │   └── recipe_api_service.dart
│   │   ├── domain
│   │   │   └── models
│   │   │       ├── comment.dart
│   │   │       ├── ingredient.dart
│   │   │       └── recipe.dart
│   │   └── ui
│   │       ├── providers
│   │       │   └── recipe_provider.dart
│   │       └── screens
│   │           ├── add_recipe_screens.dart
│   │           ├── all_recipes_screen.dart
│   │           ├── edit_recipe_screens.dart
│   │           ├── recipe_details_screens.dart
│   │           └── recipe_list_screen.dart
│   └── shared
│       └── ui
│           └── screens
│               ├── app_bar.dart
│               ├── bottom_nav_bar.dart
│               └── splash_screens.dart
├── l10n
│   ├── app_bn.arb
│   ├── app_en.arb
│   ├── app_localizations_bn.dart
│   ├── app_localizations_en.dart
│   └── app_localizations.dart
├── main.dart
└── routes
    └── app_routes.dart

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

  • Flutter SDK: Make sure you have the Flutter SDK installed.
    flutter --version
  • An editor like VS Code or Android Studio.

Installation

  1. Clone the repo
    git clone https://github.com/Draculanaim/food_app.git
  2. Navigate to the project directory
    cd food_app
  3. Install dependencies
    flutter pub get
  4. Run the app
    flutter run

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contributors

A huge thanks to all of our contributors:


License

Distributed under the MIT License. See LICENSE for more information.


Contact

About

Contributed to Flavour Fusion by implementing the Blog Section and Blog Post features with API integration for dynamic content management.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Dart 89.4%
  • PLpgSQL 8.0%
  • Other 2.6%
0