{"id":20064093,"url":"https://github.com/hossein69ameri/foodrecipeapp","last_synced_at":"2026-04-07T20:31:26.498Z","repository":{"id":182595308,"uuid":"668761000","full_name":"hossein69ameri/FoodRecipeApp","owner":"hossein69ameri","description":"FoodRecipeApp is a sample Android project using Spoonacular based on MVVM architecture","archived":false,"fork":false,"pushed_at":"2024-10-16T09:35:31.000Z","size":717,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-03T22:21:55.660Z","etag":null,"topics":["android","cache","coroutines","database","food","food-app","hilt","kotlin","mvvm","room"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hossein69ameri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-20T14:30:12.000Z","updated_at":"2024-10-16T13:35:49.000Z","dependencies_parsed_at":"2025-03-02T10:41:01.573Z","dependency_job_id":"32cfbf30-8532-4fd5-a9a9-2d77bc5bdadd","html_url":"https://github.com/hossein69ameri/FoodRecipeApp","commit_stats":null,"previous_names":["hossein69ameri/foodrecipeapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hossein69ameri/FoodRecipeApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossein69ameri%2FFoodRecipeApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossein69ameri%2FFoodRecipeApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossein69ameri%2FFoodRecipeApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossein69ameri%2FFoodRecipeApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hossein69ameri","download_url":"https://codeload.github.com/hossein69ameri/FoodRecipeApp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hossein69ameri%2FFoodRecipeApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31528271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cache","coroutines","database","food","food-app","hilt","kotlin","mvvm","room"],"created_at":"2024-11-13T13:44:45.488Z","updated_at":"2026-04-07T20:31:26.474Z","avatar_url":"https://github.com/hossein69ameri.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# FoodRecipeApp\nFoodRecipeApp is a sample Android project using [Spoonacular](https://spoonacular.com/) based on MVVM architecture. It showcases the latest Android tech stacks with well-designed architecture and best practices.\nFoodRecipeApp is an app for adopting healthier habits and losing weight. In this clone app, you have access to add and manage your daily breakfast, lunch, dinner, and drink calorie data. Using this clone you can also cook or read multiple recipes with their ingredients, calories, time and all. You will find 20+ diet plans like Keto, Low Carb, Intermittent Fasting, Clean Eating, Bulk Up, Vegetarian, and more.\n\n# Screen Shot\n\u003cimg src=\"https://github.com/hossein69ameri/Blogs/assets/103646893/dac920cb-2fcc-4e2e-9a0f-16becd3ad19a\" data-canonical-src=\"https://gyazo.com/eb5c5741b6a9a16c692170a41a49c858.png\" width=\"200\" height=\"400\" /\u003e | \u003cimg src=\"https://github.com/hossein69ameri/FoodRecipeApp/assets/103646893/29aaf1cf-b966-4eed-91e2-efc5167265c5\" data-canonical-src=\"https://gyazo.com/eb5c5741b6a9a16c692170a41a49c858.png\" width=\"200\" height=\"400\" /\u003e | \u003cimg src=\"https://github.com/hossein69ameri/FoodRecipeApp/assets/103646893/763192c6-ba3c-48ff-b482-40edce045b89\" data-canonical-src=\"https://gyazo.com/eb5c5741b6a9a16c692170a41a49c858.png\" width=\"200\" height=\"400\" /\u003e | \n\n# Features\n100% Kotlin\n\nCache Data\n\nMVVM architecture\n\nAndroid Architecture Components\n\nKotlin Coroutines + Flow + LiveData\n\nSingle activity pattern\n\nDependency injection\n\n# Tech Stacks\n[Retrofit](https://square.github.io/retrofit/) + [OkHttp](https://square.github.io/okhttp/) - RESTful API and networking client.\n\n[Hilt](https://dagger.dev/hilt/)  - Dependency injection.\n\n[ViewBinding](https://developer.android.com/topic/libraries/view-binding) - View binding is a feature that allows you to more easily write code that interacts with views \n\n[Android Architecture Components](https://developer.android.com/topic/libraries/architecture)  - A collection of libraries that help you design robust, testable and maintainable apps.\n\n[ViewModel](https://developer.android.com/reference/androidx/lifecycle/ViewModel)  - UI-related data holder, lifecycle aware.\n\n[Navigation component](https://developer.android.com/guide/navigation)  -  Fragment routing handler.\n\n[Coroutines](https://developer.android.com/kotlin/coroutines) - Concurrency design pattern for asynchronous programming.\n\n[Flow](https://developer.android.com/kotlin/flow) - Stream of value that returns from suspend function.\n\n[LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - LiveData is an observable data holder class.\n\n[DiffUtil](https://developer.android.com/reference/androidx/recyclerview/widget/DiffUtil) - DiffUtil is a utility class that calculates the difference between two lists and outputs a list of update operations that converts the first list into the second one.\n\n[Room](https://developer.android.com/training/data-storage/room) - Save data in a local database using Room.\n\n[Data Store](https://developer.android.com/topic/libraries/architecture/datastore) - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers\n\n[Lottie](https://lottiefiles.com/blog/working-with-lottie/getting-started-with-lottie-animations-in-android-app) - Animations in an Android App\n\n[Coil](https://github.com/coil-kt/coil) - Image loading\n\n# Architectures\n![alt - Github](https://raw.githubusercontent.com/amitshekhariitbhu/MVVM-Architecture-Android/master/assets/mvvm-arch.png)\n\n**View** : Activity/Fragment with UI-specific logics only.\n\n**ViewModel** : It keeps the logic away from View layer, provides data streams for UI and handle user interactions\n\n**Model** :  Repository pattern, data layers that provide interface to manipulate data from both the local and remote data sources. The local data sources will serve as single source of truth\n\n# Contact\nHave an project? DM me at\n\nhossein.arabameri69@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhossein69ameri%2Ffoodrecipeapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhossein69ameri%2Ffoodrecipeapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhossein69ameri%2Ffoodrecipeapp/lists"}