{"id":47934896,"url":"https://github.com/kazvee/localbytes","last_synced_at":"2026-04-04T07:39:47.274Z","repository":{"id":328275784,"uuid":"944273026","full_name":"kazvee/localbytes","owner":"kazvee","description":"🍔 Local Bytes is a lightweight, responsive restaurant explorer app. ✨LIVE DEMO✨ Search by meal or cuisine and view recommended dishes.","archived":false,"fork":false,"pushed_at":"2026-03-28T23:26:47.000Z","size":807,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T07:39:45.527Z","etag":null,"topics":["bootstrap","css","fusejs","javascript","react","search","vite"],"latest_commit_sha":null,"homepage":"https://localbytes.kazvee.com","language":"JavaScript","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/kazvee.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-07T04:19:02.000Z","updated_at":"2026-03-28T23:26:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kazvee/localbytes","commit_stats":null,"previous_names":["kazvee/localbytes","kazvee/local-bytes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kazvee/localbytes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Flocalbytes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Flocalbytes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Flocalbytes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Flocalbytes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kazvee","download_url":"https://codeload.github.com/kazvee/localbytes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Flocalbytes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31392186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T04:26:24.776Z","status":"ssl_error","status_checked_at":"2026-04-04T04:23:34.147Z","response_time":60,"last_error":"SSL_read: 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":["bootstrap","css","fusejs","javascript","react","search","vite"],"created_at":"2026-04-04T07:39:46.643Z","updated_at":"2026-04-04T07:39:47.266Z","avatar_url":"https://github.com/kazvee.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Local Bytes 🍔\n✨ [LIVE DEMO](https://localbytes.kazvee.com/) ✨\n\n## Description \u0026 Use Case\nLocal Bytes is a lightweight, responsive restaurant explorer app. Search by dish or cuisine and view recommended dishes.\n\n## Screenshots\n\n### Mobile View\n![Local Bytes Mobile View](docs/Local_Bytes_Mobile.png)\n\n### Desktop View\n![Local Bytes Desktop View](docs/Local_Bytes_Desktop.png)\n\n## Data Update Flow \nRestaurant data is handled via a straightforward CSV-to-JSON workflow:\n* **Shared CSV**: Users maintain a shared CSV file containing restaurants visited, favourite dishes, and location details. When new entries are added, the CSV is added to `src/data` for the next app refresh.\n* **Conversion to JSON**: Before running or building the app, the CSV is converted to JSON using the built-in utility (`npm run convert`). This JSON is what the app reads at runtime.\n* **Static site usage**: The app renders restaurant data directly from the JSON. No database is required, keeping the site fast and mobile-friendly.\n\n### Workflow Diagram 📑\n```mermaid\nflowchart TD\n    style CSV fill:#fef3c7,stroke:#f59e0b,stroke-width:2px\n    style Converter fill:#fce7f3,stroke:#ec4899,stroke-width:2px\n    style JSON fill:#dbeafe,stroke:#3b82f6,stroke-width:2px\n    style App fill:#d1fae5,stroke:#10b981,stroke-width:2px\n    style Contributor1 fill:#fef2f2,stroke:#ef4444,stroke-width:2px\n    style Contributor2 fill:#fef2f2,stroke:#ef4444,stroke-width:2px\n\n    Contributor1[\"🐦 Contributor 1\"] --\u003e CSV[\"📂 Shared CSV File\"]\n    Contributor2[\"🐿️ Contributor 2\"] --\u003e CSV\n    CSV --\u003e Converter[\"✨ CSV-to-JSON Converter\"]\n    Converter --\u003e JSON[\"📄 Generated JSON\"]\n    JSON --\u003e App[\"💻 Local Bytes App\"]\n```\n\n## Built With 👩‍💻\n* [React](https://reactjs.org/)\n* [Vite](https://vitejs.dev/)\n* [Bootstrap](https://getbootstrap.com/)\n* [Fuse.js](https://fusejs.io/) for fuzzy search\n* CSV-to-JSON conversion utility\n* [Umami](https://umami.is/) (privacy-friendly analytics)  \n* [Cloudflare Web Analytics](https://www.cloudflare.com/products/web-analytics/)  \n\n## Thanks \u0026 Acknowledgements 🤗\n* [Hamburger](https://icons8.com/icon/H9McyiOAZ5XF/hamburger), [GitHub](https://icons8.com/icon/I7n6n02hutM5/github), and [Search](https://icons8.com/icon/hO06R7BwJumP/search) icons by [Icons8](https://icons8.com)\n\n## Installation 💻 \n* Clone this repo to your local machine. \n* Install dependencies: `npm i` (or `npm install`). \n* Create file `restaurants.csv` inside `src/data`, using `example.restaurants.csv` as a reference to ensure correct headers and formatting. \n\n### Start the Development Server \n* Run `npm run dev`. \n* The development app will be served at [http://localhost:5173](http://localhost:5173/). \n\n### Build the Production-Ready Application \n* Run `npm run build`. \n* Static pages ready for deployment will be generated inside the dist folder. \n\n#### Start the Production Server \n* Run `npm run preview`. \n* The production app will be served at [http://localhost:4173](http://localhost:4173/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazvee%2Flocalbytes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkazvee%2Flocalbytes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazvee%2Flocalbytes/lists"}