{"id":23298901,"url":"https://github.com/dnafication/node-toy-robot","last_synced_at":"2026-05-18T11:06:18.892Z","repository":{"id":44023789,"uuid":"229201155","full_name":"dnafication/node-toy-robot","owner":"dnafication","description":"🤖 a nodejs console app to simulate a toy robot moving on a square table top","archived":false,"fork":false,"pushed_at":"2023-01-05T03:26:18.000Z","size":890,"stargazers_count":0,"open_issues_count":12,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-15T16:33:20.562Z","etag":null,"topics":["console-application","nodejs","object-oriented-programming"],"latest_commit_sha":null,"homepage":"","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/dnafication.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-20T06:08:09.000Z","updated_at":"2020-04-17T03:46:27.000Z","dependencies_parsed_at":"2023-02-03T08:31:08.597Z","dependency_job_id":null,"html_url":"https://github.com/dnafication/node-toy-robot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dnafication/node-toy-robot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnafication%2Fnode-toy-robot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnafication%2Fnode-toy-robot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnafication%2Fnode-toy-robot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnafication%2Fnode-toy-robot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dnafication","download_url":"https://codeload.github.com/dnafication/node-toy-robot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnafication%2Fnode-toy-robot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33175880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"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":["console-application","nodejs","object-oriented-programming"],"created_at":"2024-12-20T08:13:09.495Z","updated_at":"2026-05-18T11:06:18.876Z","avatar_url":"https://github.com/dnafication.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-toy-robot 🤖 \n\nThis is my solution to a coding exercise and it contains my interpretation of \nthe problem. The exercise details can be found [here.](./node-toy-robot.md)\n\n## Setup \u0026 Usage\nThis application has been built \u0026 tested with `Node.js 10.x` and `npm v6.13.4` \non Windows 10 OS environment. To be able to run this app:\n  - Please install [Node.js 10.x](https://nodejs.org/en/download/releases/). \n  - Clone this repository then change your current directory to the repo.\n  - Run `npm install` to install dependencies.\n  - Run the program by either `npm start` or `node ./index.js`.\n  - To use file as command input `node ./index.js --file \u003cfile path\u003e`.\n    Sample files are provided - `commands.txt, commands-empty.txt`.\n  - Get help by running `node ./index.js --help`.\n  - Test the app by running `npm test`.\n\n## Background\nI am attempting to solve this problem with Object Oriented Programming approach. \n\n### Dev Notes\n- The table object has the knowledge about its dimensions and it can calculate\n  if a coordinate is valid location on the table.\n- The robot object needs a table to place itself.\n- Pretty much all commands are translated to methods for the robot object.\n- A utility function is created to parse commands from the console using `readline` module.\n- A main app to organize, initialize objects, handle command line arguments and\n  start the program.\n\n### Coding style\nAirbnb Style Guide is used wherever possible with ESLint and prettify is used \nfor code formatting. Jest is used as a testing library.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnafication%2Fnode-toy-robot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdnafication%2Fnode-toy-robot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnafication%2Fnode-toy-robot/lists"}