{"id":19485671,"url":"https://github.com/pyozer/cross-pwgame","last_synced_at":"2026-06-15T11:32:23.865Z","repository":{"id":39198657,"uuid":"246329549","full_name":"Pyozer/cross-pwgame","owner":"Pyozer","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-05T09:38:12.000Z","size":1808,"stargazers_count":0,"open_issues_count":22,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-21T01:10:12.516Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/Pyozer.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}},"created_at":"2020-03-10T14:53:24.000Z","updated_at":"2020-03-17T11:16:11.000Z","dependencies_parsed_at":"2023-02-03T23:16:34.558Z","dependency_job_id":null,"html_url":"https://github.com/Pyozer/cross-pwgame","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Pyozer/cross-pwgame","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pyozer%2Fcross-pwgame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pyozer%2Fcross-pwgame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pyozer%2Fcross-pwgame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pyozer%2Fcross-pwgame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pyozer","download_url":"https://codeload.github.com/Pyozer/cross-pwgame/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pyozer%2Fcross-pwgame/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34358747,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"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-10T20:29:21.002Z","updated_at":"2026-06-15T11:32:23.851Z","avatar_url":"https://github.com/Pyozer.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CrossPWAGame\n\nThis project is to learn PWA and WebSocket.\nIt's an app where there is 3 games (actually only one has been finish).\n\nThe only game finish is MagicNumber.\nThe goal is to guess a random number generated by the server, by trying some number and the server response you 'less' or 'more'.\nThe first player that found 3 times the magic number win.\n\nYou can try the app here: https://pyozer.github.io/cross-pwgame/\n\n\n## Hello, Gamer\n\n## \u003ca name='TOC'\u003e🐼 Summary\u003c/a\u003e\n\n* [Rules](#rules)\n* [Overview](#overview)\n* [Story](#story)\n* [Postlude](#postlude)\n* [Bonus](#bonus)\n* [Credits](#credits)\n\n## \u003ca name='overview'\u003e🦊 Rules\u003c/a\u003e\n\nHi, here are some rules to carry out this story oav;\n\n* You **MUST** create a git repository named `cross-pwgame`\n* You **MUST** create a file called `.author.json` with your fullname\n\n```sh\n~/cross-pwgame ❯❯❯ cat -e .author.json\n{\n  \"fullname\" : \"Jean-Charles Moussé\"\n}$\n```\n\n\u003e Of course, you can talk about the subject with other developers, peer-learning is\n\u003e the key to be a better developer. Don't hesitate to ask questions or help people on slack.\n\n\u003e Don't forget, there is no useless question :-)\n\n* You **MUST** return the project on Friday March, 13 at 11:42 pm by sending an MP on slack with the link of your github repo.\n\n## \u003ca name='overview'\u003e🐱 Overview\u003c/a\u003e\n\nThis project is about realtime gameS and **HAVE TO** be a **PWA**;\u003cbr /\u003e\n\nYou **HAVE TO** use at least one **PWA** native features: `offline`, `notifications`, etc.\n\nYou **CAN** use any ui.x libraries you want [ if interested, you can even create your own ]\u003cbr /\u003e\nYou **CAN** use any front-end libraries you want but the back-end has to be written in Typescript with Node.js\n\n## \u003ca name='story'\u003e🐨 Story\u003c/a\u003e\n\n### = Prelude\n\nBootstrap a realtime server using express and socket.io [ back + front ]\u003cbr /\u003e\nFirst, you **HAVE TO** ask the user his nickname and start any game when 2 connected players are ready.\n\n### = MagicNumber\n\nCreate a multiplayer game where the goal is to find a number as quickly as possible\n\n#### How ?\n\nYou **HAVE TO** generate a random number between 0 and 1337 on game initialization\u003cbr /\u003e\nEach victory is 1 point and the party end when a player has 3 points.\n\n\u003e Save every games state in a persistent file called games.json\n\n![](./games.json.png)\n\n### = QuickWord\n\nCreate a multiplayer game where the goal is to quickly type a random displayed word\u003cbr /\u003e\n\n#### How ?\n\nYou **HAVE TO** use the package `random-words`\u003cbr /\u003e\nEach victory is 3 points and the party end when a player has 15 points\n\n### = WordAndFurious\n\nCreate a multiplayer game where the goal is to quickly type on a key from keyboard during 42 seconds\n\n#### How ?\n\nYou **HAVE TO** generate a random key from keyboard on game initialization\u003cbr /\u003e\nEach victory is 1 points and the party end when a player has 3 points\n\n## \u003ca name='bonus'\u003e🦄 Bonus\u003c/a\u003e\n\nI know you love that, well you can in bulk:\n\n* Add any game you have in mind :)\n* Find an other person to use your server with their client and reciprocally 🤓\n* Add user password authentication with Json Web Token 😱\n* Add more visual effect #css4TheWin 🎉\n\n## \u003ca name='credits'\u003e🐵 Credits\u003c/a\u003e\n\nCraft with :heart: in **Paris**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyozer%2Fcross-pwgame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyozer%2Fcross-pwgame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyozer%2Fcross-pwgame/lists"}