{"id":26401379,"url":"https://github.com/maygo/rock-paper-scissors","last_synced_at":"2026-04-14T00:04:41.713Z","repository":{"id":278383833,"uuid":"935340039","full_name":"MayGo/rock-paper-scissors","owner":"MayGo","description":"Game written in React","archived":false,"fork":false,"pushed_at":"2025-02-22T14:09:02.000Z","size":654,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-14T01:54:03.511Z","etag":null,"topics":["chakraui-v3","react","typescript","vite"],"latest_commit_sha":null,"homepage":"","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/MayGo.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}},"created_at":"2025-02-19T09:36:46.000Z","updated_at":"2025-03-03T08:55:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"793bf6bb-35ab-43ab-9815-cb4f7600cd2c","html_url":"https://github.com/MayGo/rock-paper-scissors","commit_stats":null,"previous_names":["maygo/rock-paper-scissors"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MayGo/rock-paper-scissors","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayGo%2Frock-paper-scissors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayGo%2Frock-paper-scissors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayGo%2Frock-paper-scissors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayGo%2Frock-paper-scissors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MayGo","download_url":"https://codeload.github.com/MayGo/rock-paper-scissors/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MayGo%2Frock-paper-scissors/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259851716,"owners_count":22921630,"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":["chakraui-v3","react","typescript","vite"],"created_at":"2025-03-17T14:51:25.051Z","updated_at":"2026-04-14T00:04:41.673Z","avatar_url":"https://github.com/MayGo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Game\n\nRunning on: https://rock-paper-scissors-d43zz6zsz-trimatech-projects.vercel.app/\n\n![Rock Paper Scissors Game Screenshot](docs/rock-paper-scissors-screenshot.png)\n\n## TODO\n\n-   [x] Set up React + TypeScript + Vite project\n-   [x] Add Chakra UI\n-   [x] Implement game core mechanics:\n    -   [x] Player balance system (starting 5000)\n    -   [x] Betting mechanism (500 increments, max 2 positions)\n    -   [x] Win/loss calculation:\n        -   [x] Single position win (14x return)\n        -   [x] Two positions win (3x return)\n        -   [x] Tie handling (return bet amount)\n-   [x] Create UI components:\n    -   [x] Betting position buttons (Rock/Paper/Scissors)\n    -   [x] Blance / Bet amount / Win counter display\n    -   [x] Computer choice display VS best of player choice\n    -   [x] Game result screen with Winner and win amount\n-   [x] Implement game flow:\n    -   [x] Bet placement phase\n    -   [x] Computer choice randomization\n    -   [x] Result comparison logic\n    -   [x] Balance update system\n    -   [x] Prevent invalid game states\n-   [x] Add animation for computer choice\n-   [x] Add animation for balance update\n-   [z] Fix layout shift if values changes in header\n-   [x] Add animation for win\n-   [x] Add unit tests\n-   [x] Make it playable on mobile\n-   [x] Check for rerenders\n-   [ ] Add Cypress tests\n-   [ ] Add sound effects\n-   [ ] Add background music\n-   [ ] Make it possible to add different value chips (premature refactoring?)\n\n## React + TypeScript + Vite\n\nThis template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.\n\nCurrently, two official plugins are available:\n\n-   [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh\n-   [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh\n\n## Expanding the ESLint configuration\n\nIf you are developing a production application, we recommend updating the configuration to enable type aware lint rules:\n\n-   Configure the top-level `parserOptions` property like this:\n\n```js\nexport default tseslint.config({\n    languageOptions: {\n        // other options...\n        parserOptions: {\n            project: ['./tsconfig.node.json', './tsconfig.app.json'],\n            tsconfigRootDir: import.meta.dirname\n        }\n    }\n});\n```\n\n-   Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`\n-   Optionally add `...tseslint.configs.stylisticTypeChecked`\n-   Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:\n\n```js\n// eslint.config.js\nimport react from 'eslint-plugin-react';\n\nexport default tseslint.config({\n    // Set the react version\n    settings: { react: { version: '18.3' } },\n    plugins: {\n        // Add the react plugin\n        react\n    },\n    rules: {\n        // other rules...\n        // Enable its recommended rules\n        ...react.configs.recommended.rules,\n        ...react.configs['jsx-runtime'].rules\n    }\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaygo%2Frock-paper-scissors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaygo%2Frock-paper-scissors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaygo%2Frock-paper-scissors/lists"}