{"id":25072730,"url":"https://github.com/kamo333/tic-tac-toe-game","last_synced_at":"2026-04-11T22:03:02.916Z","repository":{"id":170929035,"uuid":"646477498","full_name":"KAMO333/tic-tac-toe-game","owner":"KAMO333","description":"React · Styled-Components · Context API · Jest · React Testing Library · GitHub Actions · CI/CD | Tic-Tac-Toe Game","archived":false,"fork":false,"pushed_at":"2026-03-05T13:31:14.000Z","size":739,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-05T15:29:35.983Z","etag":null,"topics":["ci-cd","context-api","github-actions","jest","reactjs","reacttestinglibrary","styled-component"],"latest_commit_sha":null,"homepage":"https://tictactoe-by-kamo.netlify.app/","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/KAMO333.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":"2023-05-28T14:26:35.000Z","updated_at":"2026-03-05T13:36:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"3289b64c-d049-4711-b23a-98fc8bcc977a","html_url":"https://github.com/KAMO333/tic-tac-toe-game","commit_stats":null,"previous_names":["kamo333/tic-tac-toe-game"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KAMO333/tic-tac-toe-game","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KAMO333%2Ftic-tac-toe-game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KAMO333%2Ftic-tac-toe-game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KAMO333%2Ftic-tac-toe-game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KAMO333%2Ftic-tac-toe-game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KAMO333","download_url":"https://codeload.github.com/KAMO333/tic-tac-toe-game/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KAMO333%2Ftic-tac-toe-game/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31696743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"ssl_error","status_checked_at":"2026-04-11T21:17:24.556Z","response_time":54,"last_error":"SSL_read: 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":["ci-cd","context-api","github-actions","jest","reactjs","reacttestinglibrary","styled-component"],"created_at":"2025-02-06T22:33:51.967Z","updated_at":"2026-04-11T22:03:02.911Z","avatar_url":"https://github.com/KAMO333.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🕹️ React Tic-Tac-Toe (Lofi Edition)\n\n![React](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB)\n![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)\n![Styled Components](https://img.shields.io/badge/Styled--Components-DB7093?style=for-the-badge\u0026logo=styled-components\u0026logoColor=white)\n![Jest](https://img.shields.io/badge/Jest-C21325?style=for-the-badge\u0026logo=jest\u0026logoColor=white)\n![Testing Library](https://img.shields.io/badge/Testing_Library-E33332?style=for-the-badge\u0026logo=testing-library\u0026logoColor=white)\n![GitHub Actions](https://img.shields.io/badge/GitHub_Actions-2088FF?style=for-the-badge\u0026logo=github-actions\u0026logoColor=white)\n\n[![Tic-Tac-Toe CI](https://github.com/KAMO333/tic-tac-toe-game/actions/workflows/ci.yml/badge.svg)](https://github.com/KAMO333/tic-tac-toe-game/actions/workflows/ci.yml)\n\nA professional-grade, full-stack Tic-Tac-Toe game built with **React**, **Styled-Components**, and a focus on **Test-Driven Development (TDD)**. This project features immersive sound effects, Lofi background music, and a robust CI/CD pipeline.\n\n---\n\n## 🚀 Features\n\n- **Immersive Audio**: Integrated background music player and sound effects (SFX) using React Context.\n- **Dynamic Avatars**: Custom player avatars generated via `react-nice-avatar`.\n- **Responsive Design**: Built with Styled-Components for a seamless experience across devices.\n- **Production Quality**: Automated testing and CI/CD integration.\n\n---\n\n## 🏗️ Architecture\n\nThe project follows a modular architecture to separate concerns:\n\n- **Components**: Atomic UI elements (Buttons, Cells, Modals).\n- **Contexts**: Global state management for Game Logic, Audio, and UI Themes.\n- **Hooks**: Custom logic for audio playback and modal state.\n- **Utils**: Pure, tested mathematical logic for win-conditions and music randomization.\n\n---\n\n## 🧪 Testing \u0026 Quality Assurance\n\nThis project maintains a high standard of code quality through comprehensive testing.\n\n### Test Categories\n\n1. **Unit Tests**: Pure logic verification in `src/utils`.\n2. **Component Tests**: UI verification using React Testing Library.\n3. **Integration Tests**: State and Context flow verification for `GameContext`.\n\n### Running Tests\n\n```bash\n# Run tests in watch mode\nnpm test\n\n# Generate a full coverage report\nnpm test -- --coverage --watchAll=false\n```\n\n### CI/CD Pipeline\n\nAutomated workflows are configured via **GitHub Actions**. Every push to `master` triggers a build and test cycle to ensure zero-regression deployments.\n\n---\n\n## 🛠️ Tech Stack\n\n| Category   | Technology                     |\n| ---------- | ------------------------------ |\n| Frontend   | React 18, Styled-Components    |\n| State      | React Context API              |\n| Testing    | Jest, React Testing Library    |\n| Automation | GitHub Actions                 |\n| Icons/UI   | React Icons, React Nice Avatar |\n\n---\n\n## 🚦 Getting Started\n\n1. Clone the repo: `git clone git@github.com:KAMO333/tic-tac-toe-game.git`\n2. Install dependencies: `npm install`\n3. Start the dev server: `npm start`\n\n---\n\n## 📝 License\n\nDistributed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamo333%2Ftic-tac-toe-game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkamo333%2Ftic-tac-toe-game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamo333%2Ftic-tac-toe-game/lists"}