KO
|
EN
gitlite — search
Search
#typescript
#ai-agents
#deepseek-harness
#dsh-plugin
#open-source
#ai
#cli
#dsh
#claude-code
#codex
#developer-tools
#react
Frisp
★ 36
Open GitHub ↗
Social Networking Recipe App Using Provider
Download README (.md)
Explore Similar Repositories
obsidian-absolve
:
A theme overlay snippet for Obsidian.md
glow-hover.nvim
:
A Neovim plugin leveraging glow for LSPs hover responses.
KRACL
:
Source code for "KRACL: Contrastive Learning with Graph Context Modeling for Sparse Knowledge Graph Completion"
ggst-api-rs
:
A library for interfacing with the REST API of Guilty Gear Strive
ComposeCalendar
:
No description available.
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
Frisp
?
Download (.md)
<h1 align="center"> <img alt="food_app_icon" src="https://user-images.githubusercontent.com/75329130/180598065-99a17935-740b-430f-a9b3-d642c6c060bc.png" width=160px"/><br/> Frisp </h1> ## Table of Contents * [Prerequisites](#prerequisites) * [Features](#-features-) * [Roadmap](#-roadmap-) * [Screenshots](#screenshots) * [Directory Structure](#directory-structure) * [Dependencies](#dependencies) ## WeCode Bootcamp final project. ### A small social networking application for food recipes. For this project my goal is to learn about organizing code, folder structure, using backend, Firebase services, having a good UI/UX Design, data persistent, deep linking, responsiveness and implementing functionalities for a complex app. <h3 align="left">Languages and Tools:</h3> <p align="left"> <a href="https://dart.dev" target="_blank" rel="noreferrer"> <img src="https://www.vectorlogo.zone/logos/dartlang/dartlang-icon.svg" alt="dart" width="40" height="40"/> </a> <a href="https://flutter.dev" target="_blank" rel="noreferrer"> <img src="https://www.vectorlogo.zone/logos/flutterio/flutterio-icon.svg" alt="flutter" width="40" height="40"/> </a> <a href="https://firebase.google.com/" target="_blank" rel="noreferrer"> <img src="https://www.vectorlogo.zone/logos/firebase/firebase-icon.svg" alt="firebase" width="40" height="40"/> </a> <a href="https://code.visualstudio.com/" target="_blank" rel="noreferrer"> <img src="https://www.vectorlogo.zone/logos/visualstudio_code/visualstudio_code-icon.svg" alt="VS code" width="40" height="40"/> </a> </p> A new Flutter project. ## Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is your first Flutter project: - [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) - [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) For help getting started with Flutter development, view the [online documentation](https://docs.flutter.dev/), which offers tutorials, samples, guidance on mobile development, and a full API reference. ## Prerequisites Clone repository ``git clone https://github.com/MuhammadSabah/Food-Recipe-FinalProject.git`` and open ``pubspec.yaml`` run ``flutter pub get`` run app on an emulator ``flutter run`` ## 🚀 Features : ``` • Exploring different types of recipes and categories. • Searching for specific recipes. • Bookmarking your favorite recipes. • Ability to Post, and Comment on what other people have shared. • A list for saving ingredients while going to grocery store. • Like and reply to comments. • Search for specific users and view their profile. • Send messages to other users and add them to your chat list. ``` ## ✅ Roadmap : - [x] Use Firebase for user Auth. - [ ] Implement deep linking for desktop and mobile. - [x] Use FontAwesome icons instead of material icons. - [x] Finish the UI design for the signup and login screens. - [x] Create data models for the JSON data. - [x] Code the search recipe tab. - [x] Code the bookmark tab. - [x] Use Streams instead of Provider to save each recipe. - [x] Save complex data using Hive. - [x] Save simple data using SharedPreferences. - [ ] Switch the API service to either Dio or Chopper. - [x] Add searching functionality. - [x] Use Firebase to implement posting functionality. - [x] Design and Code Splash and Onboarding screen. - [x] Implement Chatting or Commenting functionality. - [x] Complete the Discovery Screen. - [x] Code the Profile Screen. - [x] Design and Code the recipe details screeen. - [ ] Make the app responsive for other mobile devices. - [x] Reply to comments feature. - [x] Add dark theme and light theme. - [ ] Use Navigation 2.0 - [x] Code the shopping screen. - [x] Code the shopping item and shopping list screens. - [x] Add Shimmer loading. - [x] Design and code Settings Screen. - [x] Design and code Edit Profile Screen. - [x] Search for specific user functionality. ## Screenshots Onboarding 1 | Onboarding 2 | Onboarding 3 | Welcome Screen :-------------------------:|:-------------------------:|:-------------------------:|:-------------------------: ||| Signup Screen | Login Screen | Forget Password Screen | Feed Screen-Activity :-------------------------:|:-------------------------:|:-------------------------:|:-------------------------: ||| Feed Screen-Discover-1 | Feed Screen-Discover-2 | Search User Screen | Search Recipe Screen :-------------------------:|:-------------------------:|:-------------------------:|:-------------------------: ||| Recipe Detail Screen | Bookmark Tab | Shopping List Screen | Shopping Item Screen :-------------------------:|:-------------------------:|:-------------------------:|:-------------------------: ||| Add Recipe Screen | Create Recipe Screen-1 | Create Recipe Screen-2 | Profile Screen-1 :-------------------------:|:-------------------------:|:-------------------------:|:-------------------------: ||| Profile Screen-2 | Edit Profile Screen | Settings Screen | Recipe Post Screen :-------------------------:|:-------------------------:|:-------------------------:|:-------------------------: ||| Comments Screen | Chats Screen | Chat Messages Screen | Following Screen :-------------------------:|:-------------------------:|:-------------------------:|:-------------------------: ||| ## Directory Structure ``` 📂lib ├── main.dart ├── 📂core │ ├── app_pages.dart │ ├── app_theme.dart │ └── constants.dart ├── 📂localization │ ├── app_en.arb │ ├── localization.dart └── 📂src ├── 📂features │ ├── 📂authentication │ │ ├── 📂screens │ │ │ ├── error_screen.dart │ │ │ ├── forget_password_screen.dart │ │ │ ├── log_in_screen.dart │ │ │ └── sign_up_screen.dart │ │ └── 📂widgets │ │ ├── auth_bottom_rich_text.dart │ │ ├── auth_confirm_button.dart │ │ ├── log_in_form.dart │ │ └── sign_up_form.dart │ ├── 📂bookmark_recipe │ │ ├── 📂repository │ │ │ └── bookmark_interface.dart │ │ ├── 📂screens │ │ │ ├── bookmark_tab.dart │ │ │ └── recipe_detail_screen.dart │ │ └── 📂widgets │ │ ├── bookmark_card.dart │ │ └── bottom_save_button.dart │ ├── 📂chat │ │ ├── 📂screens │ │ │ ├── chat_messages_screen.dart │ │ │ └── contacts_list_screen.dart │ │ └── 📂widgets │ │ ├── chat_messages.dart │ │ ├── my_message_bubble.dart │ │ └── sender_message_bubble.dart │ ├── 📂comment │ │ ├── 📂screens │ │ │ └── comments_screen.dart │ │ └── 📂widgets │ │ ├── comment_card.dart │ │ └── reply_card.dart │ ├── 📂create_recipe_post │ │ ├── 📂screens │ │ │ ├── add_recipe_post_screen.dart │ │ │ └── create_recipe_post_screen.dart │ │ └── 📂widgets │ │ └── add_fields_section.dart │ ├── 📂home │ │ └── 📂screens │ │ └── home_screen.dart │ ├── 📂onboarding │ │ ├── 📂screens │ │ │ └── onboarding_screen.dart │ │ └── 📂pages │ │ ├── page_1.dart │ │ ├── page_2.dart │ │ └── page_3.dart │ ├── 📂profile │ │ ├── 📂screens │ │ │ ├── edit_profile_screen.dart │ │ │ ├── followers_screen.dart │ │ │ ├── following_screen.dart │ │ │ └── profile_screen.dart │ │ └── 📂widgets │ │ ├── profile_back_button.dart │ │ ├── profile_cached_background_photo.dart │ │ ├── profile_default_background_photo.dart │ │ ├── profile_info_container.dart │ │ ├── profile_messages_button.dart │ │ ├── profile_post_section.dart │ │ ├── profile_send_message_button.dart │ │ └── profile_settings_button.dart │ ├── 📂recipe_feed │ │ ├── 📂screens │ │ │ ├── activity_tab.dart │ │ │ ├── discover_tab.dart │ │ │ └── feed_screen.dart │ │ └── 📂widgets │ │ ├── animated_like_button.dart │ │ ├── category_list_view.dart │ │ ├── featured_recipes_list_view.dart │ │ ├── ingredients_post_section.dart │ │ ├── popular_recipes_list_view.dart │ │ ├── post_detail_sliver_app_bar.dart │ │ ├── post_details_title_section.dart │ │ ├── recipe_post_card.dart │ │ ├── recipe_post_detail_screen.dart │ │ ├── serve_and_cook_time_section.dart │ │ ├── steps_post_section.dart │ │ ├── title_and_description_form_section.dart │ │ └── today_recipes_list_view.dart │ ├── 📂search_recipe │ │ ├── 📂screens │ │ │ ├── search_recipe_screen.dart │ │ │ └── search_tab.dart │ │ └── 📂widgets │ │ ├── circle_tab_indicator.dart │ │ ├── custom_drop_down.dart │ │ ├── details_sliver_app_bar.dart │ │ ├── details_title_section.dart │ │ ├── ingredients_section.dart │ │ ├── instructions_section.dart │ │ ├── nutritions_section.dart │ │ ├── recipe_card.dart │ │ ├── recipe_grid_view.dart │ │ └── servings_and_ready_in_section.dart │ ├── 📂search_user │ │ ├── 📂screens │ │ │ └── search_user_screen.dart │ │ └── 📂widgets │ │ └── user_search_result_list.dart │ ├── 📂settings │ │ ├── 📂screens │ │ │ └── settings_screen.dart │ │ └── 📂widgets │ │ ├── settings_account_detail_button.dart │ │ ├── settings_back_button.dart │ │ ├── settings_change_password_button.dart │ │ ├── settings_log_out_button.dart │ │ └── settings_theme_button.dart │ ├── 📂splash │ │ └── 📂screens │ │ └── splash_screen.dart │ └── 📂welcome │ └── 📂screens │ └── welcome_screen.dart ├── 📂models │ ├── 📂api │ │ ├── recipe_api_model.dart │ │ └── recipe_api_model.g.dart │ ├── 📂data_class_models │ │ ├── ingredient_model.dart │ │ ├── instruction_model.dart │ │ ├── nutrients_model.dart │ │ ├── nutrition_model.dart │ │ ├── recipe_model.dart │ │ └── steps_model.dart │ ├── 📂enums │ │ ├── importance_enum.dart │ │ └── message_enum.dart │ ├── comment_model.dart │ ├── message.dart │ ├── recipe_post_model.dart │ ├── reply_model.dart │ ├── shopping_item.dart │ ├── shopping_item.g.dart │ └── user_model.dart ├── 📂navigation │ └── route_generator.dart ├── 📂providers │ ├── auth_provider.dart │ ├── bookmark_provider.dart │ ├── message_provider.dart │ ├── recipe_post_provider.dart │ ├── settings_provider.dart │ ├── shopping_provider.dart │ ├── user_image_provider.dart │ └── user_provider.dart └── 📂services └── recipe_service.dart ``` ## Dependencies | Name | Version | | :-------------: | :--------------------------: | | [google_fonts](https://pub.dev/packages/google_fonts) | 2.1.0 | | [provider](https://pub.dev/packages/provider) | 6.0.0 | | [flutter_colorpicker](https://pub.dev/packages/flutter_colorpicker) | 0.6.0 | | [intl](https://pub.dev/packages/intl) | 0.17.0 | | [uuid](https://pub.dev/packages/uuid) | 3.0.4 | | [smooth_page_indicator](https://pub.dev/packages/smooth_page_indicator) | 1.0.0+2 | | [url_launcher](https://pub.dev/packages/url_launcher) | 6.0.10 | | [shared_preferences](https://pub.dev/packages/shared_preferences) | 2.0.7 | | [flutter_svg](https://pub.dev/packages/flutter_svg) | 1.1.0 | | [json_annotation](https://pub.dev/packages/json_annotation) | 4.6.0 | | [http](https://pub.dev/packages/http) | 0.13.4 | | [flutter_slidable](https://pub.dev/packages/flutter_slidable) | 0.6.0 | | [shimmer](https://pub.dev/packages/shimmer) | 2.0.0 | | [font_awesome_flutter](https://pub.dev/packages/font_awesome_flutter) | 10.1.0 | | [build_runner](https://pub.dev/packages/build_runner) | 2.1.1 | | [json_serializable](https://pub.dev/packages/json_serializable) | 6.3.1 | | [firebase_core](https://pub.dev/packages/firebase_core) | 1.20.0 | | [cloud_firestore](https://pub.dev/packages/cloud_firestore) | 3.4.2 | | [firebase_auth](https://pub.dev/packages/firebase_auth) | 3.6.1 | | [image_picker](https://pub.dev/packages/image_picker) | 0.8.5+3 | | [dartz](https://pub.dev/packages/dartz) | 0.10.1 | | [get](https://pub.dev/packages/get) | 4.6.5 | | [bubble](https://pub.dev/packages/bubble) | 1.2.1 | | [hive](https://pub.dev/packages/hive) | 2.2.3 | | [hive_flutter](https://pub.dev/packages/hive_flutter) | 1.1.0 | | [hive_generator](https://pub.dev/packages/hive_generator) | 1.1.3 | | [equatable](https://pub.dev/packages/equatable) | 2.0.5 | | [websafe_svg](https://pub.dev/packages/websafe_svg) | 2.1.2+2 | | [flutter_native_splash](https://pub.dev/packages/flutter_native_splash) | 2.2.8 | | [dropdown_button2](https://pub.dev/packages/dropdown_button2) | 1.7.2 | | [flutter_localizations](https://pub.dev/packages/localization) | <last-version> | ## Created & Maintained By [MuhammadSabah](https://github.com/MuhammadSabah)