{"id":30892236,"url":"https://github.com/babilonczyk/recipe-suggest","last_synced_at":"2025-09-08T19:12:27.115Z","repository":{"id":296896570,"uuid":"992549186","full_name":"babilonczyk/recipe-suggest","owner":"babilonczyk","description":"React \u0026 Rails app helping users find the most relevant recipes that they can prepare with the ingredients that they have at home","archived":false,"fork":false,"pushed_at":"2025-07-21T06:40:36.000Z","size":1892,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-21T08:30:55.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://recipe-suggest-web-lac.vercel.app","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/babilonczyk.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,"zenodo":null}},"created_at":"2025-05-29T10:36:11.000Z","updated_at":"2025-07-21T06:41:22.000Z","dependencies_parsed_at":"2025-06-03T06:57:01.937Z","dependency_job_id":"aa3f950f-19d8-455a-bcb8-861f59a995cf","html_url":"https://github.com/babilonczyk/recipe-suggest","commit_stats":null,"previous_names":["babilonczyk/recipe-suggest"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/babilonczyk/recipe-suggest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babilonczyk%2Frecipe-suggest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babilonczyk%2Frecipe-suggest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babilonczyk%2Frecipe-suggest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babilonczyk%2Frecipe-suggest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/babilonczyk","download_url":"https://codeload.github.com/babilonczyk/recipe-suggest/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babilonczyk%2Frecipe-suggest/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231381,"owners_count":25245585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-09-08T19:12:21.086Z","updated_at":"2025-09-08T19:12:27.098Z","avatar_url":"https://github.com/babilonczyk.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## recipe-suggest\n\napi -\u003e https://recipe-suggest-4ef83f6f8450.herokuapp.com/\nweb -\u003e https://recipe-suggest-web-lac.vercel.app/\n\n## Before running\n\n```\ncd apps/be\nrails db::create\nrails db:migrate\nrails db::seed\n```\n\n## How to run?\n\nBefore install dependencies\n\n```sh\nyarn install\n```\n\n### recipe-suggest web\n\nReact single page app for the web version of the app.\n\n```sh\nyarn workspace recipe-suggest dev\n```\n\n### recipe-suggest be\n\nBackend business logic for recipe suggest app.\n\n```sh\ncd apps/be\nrails s\n```\n\n## User stories\n\n1. As a user, I want to select ingredients I currently have at home, so that I can find recipes I can cook right now.\n\n2. As a user, I want to view recipes that match the ingredients I selected, so that I can quickly choose something to cook.\n\n3. As a user, I want to understand what quantities are expected in recipes, so I can check if I have enough of each ingredient.\n\n## Left to do / ideas\n\nStuff I made as a cut scope, because I didn't have enough time:\n\n- rate limiting\n- display information on found_recipe page on how many ingrediants user has and how many he needs to buy\n- allow passing image of the items and send request to the openai to find what ingrediants user has. Than search recipes based on that output\n\n## Interesting cases/observations\n\n- I was thinking on implementing infinite scrolling on the be, to don't end up with memory problem on the client side when displaying all ingrediants/recipes. But I found the 'window-react' lib which solves the issue on the client side\n\n- I've spend some time debugging cors issue. For some reason client could make some request, but other were being blocked. Turnes out I have passed / at the end of https://recipe-suggest-web-lac.vercel.app in cors.rb initializer which was creating some formating issue\n\n- I've had select all ingrediants working on the local environment, but when dealing with thousands of records I've been reaching the limit of how long request can be when passing ?imgrediant_ids=... filter. So I've removed it.\n\n## Vision\n\nSimplicity. My goal was to create a simple tool for finding recipes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabilonczyk%2Frecipe-suggest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbabilonczyk%2Frecipe-suggest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabilonczyk%2Frecipe-suggest/lists"}