{"id":27143901,"url":"https://github.com/myworldbox/interactive-tetris","last_synced_at":"2026-04-07T18:32:02.388Z","repository":{"id":163593338,"uuid":"631824031","full_name":"myworldbox/interactive-tetris","owner":"myworldbox","description":"Interactive Tetris","archived":false,"fork":false,"pushed_at":"2023-05-09T14:39:33.000Z","size":57766,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T13:19:54.238Z","etag":null,"topics":["comp4021","css","docker","express-js","hkust","html","jquery","js","socket-io"],"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/myworldbox.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":"2023-04-24T06:21:35.000Z","updated_at":"2023-08-25T04:19:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"df002a0b-2d33-4199-b16c-8aa492944633","html_url":"https://github.com/myworldbox/interactive-tetris","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/myworldbox/interactive-tetris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myworldbox%2Finteractive-tetris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myworldbox%2Finteractive-tetris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myworldbox%2Finteractive-tetris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myworldbox%2Finteractive-tetris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/myworldbox","download_url":"https://codeload.github.com/myworldbox/interactive-tetris/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myworldbox%2Finteractive-tetris/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31524525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"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":["comp4021","css","docker","express-js","hkust","html","jquery","js","socket-io"],"created_at":"2025-04-08T08:57:04.345Z","updated_at":"2026-04-07T18:32:02.379Z","avatar_url":"https://github.com/myworldbox.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Interactive Tetris\n\nHTML + CSS + JavaScript + Docker + Express.JS + Socket.io\n\n\n## Quick start\n\n```bash\n# clone repo\ngit clone https://github.com/myworldbox/interactive-tetris.git\n\n# download module\n1. npm install\n2. yarn\n3. docker build . -t interactive-tetris\n\n# start development\n1. npm start\n2. yarn start\n3. docker run -d -p 8000:8000 interactive-tetris\n```\n\n## useful command\n\n```bash\n# quick github commit\n1. npm commit\n2. yarn commit\n\n# sync latest change from GitHub\n1. npm refresh\n2. yarn refresh\n```\n\n## api\n\n```bash\n# function can be triggered by both POST request\n# [ POST ] - req.body\n\n# root\n/\n\n#  register function\n/register\n\n`{\n  \"username\": \"victor\",\n  \"name\": \"Victor\",\n  \"password\": \"password\"\n}`\n\nResponse:\n\n1. Username is empty:\n`{ status: \"error\", error: \"username is empty\" }`\n\n2. Username contains special characters (using lab 5 regex):\n`{ status: \"error\", error: \"username should contains only underscores, letters or numbers\" }`\n\n3. Username already exists:\n`{ status: \"error\", error: \"username already exists\" }`\n\n4. Name is empty:\n`{ status: \"error\", error: \"name is empty\" }`\n\n5. Password is empty:\n`{ status: \"error\", error: \"password is empty\" }`\n\n6. Success:\n`{ status: \"success\", message: \"users has been created\" }`\n\n# sign in function\n\n/signIn\n`{\n  \"username\": \"victor\",\n  \"password\": \"password\"\n}`\n\nResponse:\n\n1. Username does not exists:\n`{ status: \"error\", error: \"user does not exists\" }`\n\n2. Password is incorrect:\n`{ status: \"error\", error: \"password is incorrect\" }`\n\n3. Success:\n`{ status: \"success\", message: \"successfully logged in\", user: { name: \"Victor\", username: \"victor\"} }`\n```\n\n## vercel deployment\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/project?template=https://github.com/myworldbox/interactive-tetris)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyworldbox%2Finteractive-tetris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmyworldbox%2Finteractive-tetris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyworldbox%2Finteractive-tetris/lists"}