{"id":21062574,"url":"https://github.com/paragon279/tetrlgnd","last_synced_at":"2025-10-31T05:36:50.805Z","repository":{"id":258966768,"uuid":"767817210","full_name":"paragon279/tetrlgnd","owner":"paragon279","description":"Tetris Legend is a web game platform","archived":false,"fork":false,"pushed_at":"2024-03-06T00:18:30.000Z","size":33925,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T20:33:34.021Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paragon279.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-03-06T00:14:53.000Z","updated_at":"2024-03-06T00:18:34.000Z","dependencies_parsed_at":"2024-10-21T12:22:56.762Z","dependency_job_id":null,"html_url":"https://github.com/paragon279/tetrlgnd","commit_stats":null,"previous_names":["paragon279/tetrlgnd"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paragon279%2Ftetrlgnd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paragon279%2Ftetrlgnd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paragon279%2Ftetrlgnd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paragon279%2Ftetrlgnd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paragon279","download_url":"https://codeload.github.com/paragon279/tetrlgnd/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243505963,"owners_count":20301619,"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":[],"created_at":"2024-11-19T17:39:17.530Z","updated_at":"2025-10-31T05:36:45.739Z","avatar_url":"https://github.com/paragon279.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Red-tetris-42Network\nThe objective of this project is to develop a networked multiplayer tetris game from a stack of software exclusively Full Stack Javascript\n\nThere also is a classic solo mode with a leaderboard.\n\nEverything is in real time thanks to socket.io.\n\nThe code is entirely unit tested with jest.\n\u003c!-- \nYou can try it out **[here](https://tetris-orange.herokuapp.com/#)**.\nIt can take some time to load the app, heroku servers must wake up. --\u003e\n\n## Built with\n\n### Front-end\n\n* React.js + Redux Thunk\n* Socket.io\n\n### Back-end\n\n* Node.js\n* Socket.io\n\u003c!-- * Deployed with heroku --\u003e\n\n## Project preview\n### Home page\n\u003cimg src=\"https://github.com/Ysrbolles/Red-tetris-42Network/blob/main/images/Home.png\" /\u003e\n\n### Lobby \n\u003cimg src=\"https://github.com/Ysrbolles/Red-tetris-42Network/blob/main/images/Rooms.png\" /\u003e\n\n### Solo game \n\u003cimg src=\"https://github.com/Ysrbolles/Red-tetris-42Network/blob/main/images/Solo.png\" /\u003e\n\n### In a 'battle' game (2 players)\n\u003cimg src=\"https://github.com/Ysrbolles/Red-tetris-42Network/blob/main/images/Game.png\" /\u003e\n\n### Game Over screen\n\u003cimg src=\"https://github.com/Ysrbolles/Red-tetris-42Network/blob/main/images/Gameover.png\" /\u003e\n\n### Winner screen\n\u003cimg src=\"https://github.com/Ysrbolles/Red-tetris-42Network/blob/main/images/Winner.png\" /\u003e\n\n## General instructions\n\nThe project must be written totally in Javascript and especially in its es2015 (ES6)\nversion.\n\nThe client code (browser) must be written without a call to \"this\" in the purpose\nof pushing you to use functional constructs and not object. You have the choice of the\nfunctional library (lodash, ramda, ...) to use it or not.\n\nThe handling logic of the heap and pieces must be implemented as \"pure functions\".\nAn exception to this rule: \"this\" can be used to define its own subclasses of \"Error\".\nOn the opposite, the server code must use object-oriented programming (prototype).\nWe want to find there at least the (ES6) Player, Piece and Game classes.\n\nThe client application must be built from the React and Redux libraries.\n\nHTML code must not use TABLE elements, but must be built exclusively from\na layout flexbox.\n\nProhibition to use:\n* A DOM manipulation library like jQuery\n* Canvas\n* SVG (Scalable Vector Graphics)\n  \nThere is no need to directly manipulate the DOM.\n## Skills\n\n* Object-oriented programming \n* Web \n* Functional programming \n* Technology integration \n\n## Usage\n  After Cloned the repo you must install the packages with the command:\n  ```\n  npm i\n\n  ```\n  Then you can run the server \u0026\u0026 client with the command:\n  ```\n  npm run dev\n  ```\n  \n  The server is running on port 1337.\n  The client is running on port 3000. (http://localhost:3000/)\n\n## TEST\nTo see the test coverage, run:\n```\nnpm run coverage\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparagon279%2Ftetrlgnd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparagon279%2Ftetrlgnd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparagon279%2Ftetrlgnd/lists"}