{"id":21358237,"url":"https://github.com/snacsnoc/grocery-app","last_synced_at":"2026-03-06T09:34:16.705Z","repository":{"id":146240681,"uuid":"585420753","full_name":"snacsnoc/grocery-app","owner":"snacsnoc","description":"Search multiple Canadian grocers at once","archived":false,"fork":false,"pushed_at":"2024-06-10T09:24:53.000Z","size":510,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-06-10T11:11:05.044Z","etag":null,"topics":["flask","python"],"latest_commit_sha":null,"homepage":"https://grocerygoose.ca","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/snacsnoc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-05T05:55:50.000Z","updated_at":"2024-06-10T09:24:55.000Z","dependencies_parsed_at":"2024-02-04T21:11:07.610Z","dependency_job_id":null,"html_url":"https://github.com/snacsnoc/grocery-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snacsnoc%2Fgrocery-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snacsnoc%2Fgrocery-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snacsnoc%2Fgrocery-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snacsnoc%2Fgrocery-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snacsnoc","download_url":"https://codeload.github.com/snacsnoc/grocery-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225844795,"owners_count":17533161,"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","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":["flask","python"],"created_at":"2024-11-22T05:15:11.452Z","updated_at":"2026-03-06T09:34:11.675Z","avatar_url":"https://github.com/snacsnoc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Look up multiple Canadian grocers at once\n=========================================\n\n__Stores:__\n* Presidents Choice (Superstore)\n* Safeway\n* SaveOnFoods\n* Walmart\n\nThis app uses undocumented APIs to query search results, this project is experimental. To read more about the APIs, see `HACKING.md`\n\nRun Flask:\n```\nFLASK_DEBUG=True python3 -m flask run\n```\n\nRuns on: \n* Python 3.11 \n* Smiles\n\n__Implementation:__\nUsing the user's search query, the grocer's individual search API is called. To speed up sending requests, the requests are made in parallel. \nThe users postal code to lat,long coordinates is cached to disk. This is used for store lookups, eg finding a Walmart within a proximity. This simulates behaviour from the APIs used in mobile apps.\nThe data is then formatted and normalized and returned to Flask.\n\nData is exposed to Javascript on the search results page and then sorted accordingly.\n\nTo use this in your project, or if you're just curious, the most useful files are:\n* `supermarket.py` - query grocery stores, as mentioned above\n* `product_data_parser.py` - parse the response from a query","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnacsnoc%2Fgrocery-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnacsnoc%2Fgrocery-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnacsnoc%2Fgrocery-app/lists"}