{"id":19935078,"url":"https://github.com/nickersoft/opentables","last_synced_at":"2026-05-15T07:31:30.364Z","repository":{"id":138468143,"uuid":"118155084","full_name":"Nickersoft/opentables","owner":"Nickersoft","description":"An OpenTables search interface","archived":false,"fork":false,"pushed_at":"2023-12-15T08:51:52.000Z","size":1073,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-08T12:47:21.394Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Nickersoft.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":"2018-01-19T17:17:07.000Z","updated_at":"2023-06-03T17:26:19.000Z","dependencies_parsed_at":"2023-12-15T09:52:33.415Z","dependency_job_id":null,"html_url":"https://github.com/Nickersoft/opentables","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nickersoft/opentables","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nickersoft%2Fopentables","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nickersoft%2Fopentables/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nickersoft%2Fopentables/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nickersoft%2Fopentables/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nickersoft","download_url":"https://codeload.github.com/Nickersoft/opentables/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nickersoft%2Fopentables/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33057823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-15T02:00:06.351Z","response_time":103,"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":"2024-11-12T23:18:42.512Z","updated_at":"2026-05-15T07:31:30.348Z","avatar_url":"https://github.com/Nickersoft.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenTable Search\n\nWelcome! If you're reading this, then there's a 99% chance your a recruiter at the company this project was built for.\nConsidering this is an open-source repository that anyone can read, the name of that company and the position this coding\nchallenge is used for will not be disclosed. The fact this project uses Algolia search does not necessarily mean anything.\nAlgolia is simply awesome.\n\nThis is a search interface for OpenTable data built in React. Getting up and running with it is fairly straightforward.\n\n## Building the Data\n\nThe data this project uses comes in two separate JSON files: `restaurants_info.csv` and `restaurants_list.json`. This data is\ncombined into a single JSON file, included in this repo as `restaurants_all.json`. However, if you need to regenerate that\ndata at all you can do so using the `mkdataset.sh` Node script:\n\n```bash\n$ ./mkdataset.sh\n```\n\nNote that this script was written on macOS, a Unix system, and has not been tested against the Windows platform. Worst\ncase, if you remove the shebang line you can run it as a JavaScript file using `node`.\n\n## Running Locally\n\nBy default, the server runs on `localhost:8080`. To run the development server, you just have to run:\n\n```bash\n$ npm run server:dev\n```\n\nThe server uses a Webpack hot loading middleware to swap out React components at runtime (how cool is that?!). While\nthis project could have used `nodemon`, it was never setup due to time constraints, so if you run into any issues with\nthe site, manually restarting the server should fix them. The code was written for Node 9, so unless you're running the\nproduction server, which is transpiled to ideally work with version 6.10, you may run into issues if you're not using\nNode 9 or above.\n\n## Building For Production\n\nTo build for production, simply run the command:\n\n```bash\n$ npm run build\n```\n\nThis will output a transpiled, minified server file, as well as all production assets, to the `dist` directory. To run\nthe production server, simply run:\n\n```bash\n$ npm run server:prod\n```\n\n## Building A Container\n\nIf you wish to build a Docker container out of this repo (which is how this site is deployed), you can do so with\nDocker's `build` command:\n\n```bash\n$ docker build . -t opentables\n```\n\nAnd to run it:\n\n```bash\n$ docker run -p 8080:8080 --name opentables -d opentables\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickersoft%2Fopentables","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickersoft%2Fopentables","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickersoft%2Fopentables/lists"}