{"id":16774884,"url":"https://github.com/hatemhosny/thealgorithms-javascript","last_synced_at":"2025-03-16T17:44:05.064Z","repository":{"id":194480654,"uuid":"690778434","full_name":"hatemhosny/thealgorithms-javascript","owner":"hatemhosny","description":"The Algorithms - JavaScript Playground","archived":false,"fork":false,"pushed_at":"2023-09-17T16:21:45.000Z","size":111,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T04:31:27.857Z","etag":null,"topics":["algorithms","data-structures","javascript","livecodes","playground"],"latest_commit_sha":null,"homepage":"https://hatemhosny.github.io/thealgorithms-javascript/","language":null,"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/hatemhosny.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}},"created_at":"2023-09-12T21:27:07.000Z","updated_at":"2023-09-13T09:37:10.000Z","dependencies_parsed_at":"2023-09-13T14:58:18.356Z","dependency_job_id":"40729257-5a81-4022-aa86-1ba3a014681d","html_url":"https://github.com/hatemhosny/thealgorithms-javascript","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"372448e9ce44f8f2881d15b67b9d8d26f5daf245"},"previous_names":["hatemhosny/thealgorithms-javascript"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatemhosny%2Fthealgorithms-javascript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatemhosny%2Fthealgorithms-javascript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatemhosny%2Fthealgorithms-javascript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hatemhosny%2Fthealgorithms-javascript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hatemhosny","download_url":"https://codeload.github.com/hatemhosny/thealgorithms-javascript/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910645,"owners_count":20367537,"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":["algorithms","data-structures","javascript","livecodes","playground"],"created_at":"2024-10-13T06:50:27.278Z","updated_at":"2025-03-16T17:44:05.037Z","avatar_url":"https://github.com/hatemhosny.png","language":null,"readme":"# The Algorithms - JavaScript Playground\n\nThis project provides a client-side code playground to allow editing, running and testing code for Data Structures and Algorithms from the great repo: [The Algorithms - JavaScript](https://github.com/TheAlgorithms/JavaScript). These currently include more that [350 implementations](https://github.com/TheAlgorithms/JavaScript/blob/master/DIRECTORY.md) in JavaScript.\n\n[Open the Playground 🚀](https://hatemhosny.github.io/thealgorithms-javascript/)\n\nThe project is built using [LiveCodes](https://livecodes.io/), the [feature-rich](https://livecodes.io/docs/features/), [open-source](https://github.com/live-codes/livecodes), [client-side](https://livecodes.io/docs/why#client-side) code playground that supports [80+ languages/frameworks](https://livecodes.io/docs/why#language-support). Code and tests are imported form [The Algorithms - JavaScript](https://github.com/TheAlgorithms/JavaScript) repo and are added to the playground using LiveCodes [SDK](https://livecodes.io/docs/sdk). Tests run locally in the browser using LiveCodes [test runner](https://livecodes.io/docs/features/tests) (which uses [Jest](https://jestjs.io/)). The playground is deployed to GitHub Pages using the LiveCodes [deploy](https://livecodes.io/docs/features/deploy) feature!\n\n## Source Code\n\nThe source code can be found in the [`gh-pages` branch](https://github.com/hatemhosny/thealgorithms-javascript/tree/gh-pages) ([Edit in LiveCodes ✏️](https://livecodes.io/?activeEditor=script\u0026x=https://github.com/hatemhosny/thealgorithms-javascript/tree/gh-pages/src)).\n\n## How is that different from the official [playground](https://the-algorithms.com/playground?algorithm=binary-search\u0026language=javascript)?\n\nThis project has the following major differences: \n\n- The code **runs in the browser** (instead of sending code to the server), so it does not need a backend to maintain and pay for.\n- It allows **running tests** and reviewing test results (which is not currently supported in the official playground for JavaScript).\n- **Mobile support**: LiveCodes has a responsive layout and uses the mobile-friendly code editor CodeMirror6 on mobile.\n- Any algorithm can be opened in the full [LiveCodes](https://livecodes.io/) app (by clicking the LiveCodes logo on the upper right corner). This allows using all **LiveCodes [features](https://livecodes.io/docs/features/)** (including the ability to: [save](https://livecodes.io/docs/features/projects), [share](https://livecodes.io/docs/features/share), [export](https://livecodes.io/docs/features/export), [deploy](https://livecodes.io/docs/features/deploy), [sync](https://livecodes.io/docs/features/sync) and [broadcast](https://livecodes.io/docs/features/broadcast) code, ...etc).\n\n## Can I have a direct link to a specific algorithm?\n\nYes!\n\nWhen a new algorithm is selected from the dropdown menu, the URL querystring parameter `algorithm` is changed to the selected one. This URL can be shared and the selected algorithm will be loaded by default.\ne.g. https://hatemhosny.github.io/thealgorithms-javascript/?algorithm=Recursive/Factorial\n\n## What IDE did you use to build this project?\n\n[LiveCodes](https://livecodes.io/) of course :)\n\n## License\n\nThe project imports code and tests from [The Algorithms - JavaScript](https://github.com/TheAlgorithms/JavaScript) repo which has [GPL-3.0 license](https://github.com/TheAlgorithms/JavaScript/blob/master/LICENSE), so this project is licensed under the same license.\n\nHowever, please note that [LiveCodes](https://github.com/live-codes/livecodes) and its [SDK](https://livecodes.io/docs/sdk) are licensed under [MIT license](https://github.com/live-codes/livecodes/blob/develop/LICENSE). So if you remove all references to [The Algorithms - JavaScript](https://github.com/TheAlgorithms/JavaScript) repo and its code, you may consider the rest of the code (utilizing the LiveCodes SDK) as having MIT license.\n\n## Contributions/Suggestions\n\nVery welcome :)\n\n## How can I build similar projects?\n\nGo ahead to [LiveCodes](https://livecodes.io/). You may want to check the docs on [embedding playgrounds](https://livecodes.io/docs/features/embeds) and LiveCodes [SDK](https://livecodes.io/docs/sdk).\n\nThe [LiveCodes documentations](https://livecodes.io/docs/) are comprehensive with code samples, live demos and screenshots.\n\nLiveCodes app and SDK are licensed under [MIT license](https://github.com/live-codes/livecodes/blob/develop/LICENSE).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhatemhosny%2Fthealgorithms-javascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhatemhosny%2Fthealgorithms-javascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhatemhosny%2Fthealgorithms-javascript/lists"}