{"id":20778067,"url":"https://github.com/mustafadalga/othello","last_synced_at":"2026-04-11T09:44:01.628Z","repository":{"id":250365695,"uuid":"815483162","full_name":"mustafadalga/othello","owner":"mustafadalga","description":"Othello - Realtime 2 Player Mind Game","archived":false,"fork":false,"pushed_at":"2025-12-05T17:15:02.000Z","size":7745,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-23T14:56:22.659Z","etag":null,"topics":["apollo","board-game","game","game-development","graphql","multiplayer-game","multiplayer-games","nextjs","nodejs","othello","reactjs","realtime-game","realtime-games","reversi","tailwindcss"],"latest_commit_sha":null,"homepage":"https://play-othello.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mustafadalga.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-06-15T09:44:02.000Z","updated_at":"2025-12-05T17:15:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"1e4786b2-80e6-4fd6-997d-214b7817a4f3","html_url":"https://github.com/mustafadalga/othello","commit_stats":null,"previous_names":["mustafadalga/othello"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mustafadalga/othello","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafadalga%2Fothello","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafadalga%2Fothello/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafadalga%2Fothello/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafadalga%2Fothello/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mustafadalga","download_url":"https://codeload.github.com/mustafadalga/othello/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafadalga%2Fothello/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31676210,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","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":["apollo","board-game","game","game-development","graphql","multiplayer-game","multiplayer-games","nextjs","nodejs","othello","reactjs","realtime-game","realtime-games","reversi","tailwindcss"],"created_at":"2024-11-17T13:18:58.606Z","updated_at":"2026-04-11T09:44:01.607Z","avatar_url":"https://github.com/mustafadalga.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Othello - Realtime 2 Player Mind Game\n\nOthello is a strategic board game played between two players. The goal is to have the most pieces of your color on the board at the end of the game.\n\n\n### Features\n* **Play with Friends:** Invite friends to play in a real-time competitive match.\n* **Play Against the Computer:** Challenge the computer\n\n\n\u003cbr/\u003e\n\n## How to Play Othello\n\n### Game Introduction\n\nOthello is a strategic board game played between two players. The goal is to have the most pieces of\nyour color on the board at the end of the game.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/mustafadalga/othello/main/client/public/how-to-play/screenshot-1.png\" width=\"400\" height=\"400\" alt=\"Game Introduction\"/\u003e\n\u003cp/\u003e\n\n\n### Starting Position\n\nThe game begins on an 8x8 board. In the center, four pieces are placed diagonally: two white and two\nblack.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/mustafadalga/othello/main/client/public/how-to-play/screenshot-2.png\" width=\"400\" height=\"400\" alt=\"Starting Position\"/\u003e\n\u003cp/\u003e\n\n\n### Making Moves and Flipping Pieces\n\n*   Players take turns placing their pieces on empty squares. When placing a piece, it must trap\n    opponent’s pieces between two of your pieces, either horizontally, vertically, or\n    diagonally.\n*  Trapped opponent pieces are flipped to your color.\n\n| Before       | After                                                                                                                                       |\n|--------------|---------------------------------------------------------------------------------------------------------------------------------------------|\n| ![Making Moves and Flipping Pieces](https://raw.githubusercontent.com/mustafadalga/othello/main/client/public/how-to-play/screenshot-3.png) | ![Making Moves and Flipping Pieces](https://raw.githubusercontent.com/mustafadalga/othello/main/client/public/how-to-play/screenshot-4.png) |\n\nAn example showing a piece being placed and how opponent pieces are flipped. (With black’s turn,\nI placed a piece in the 6th row, 5th column, turning the opponent’s white piece in the 5th row,\n5th column to black.)\n\n\n\n### Strategic Moves\n\nPlayers can gain a strategic advantage by placing pieces on edge and corner squares, as these cannot\nbe flipped easily.\n\n\n### End of Game and Winner\n\nThe game continues until the board is full or no valid moves are possible. The player with the most pieces wins.\n\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/mustafadalga/othello/main/client/public/how-to-play/screenshot-5.png\" width=\"400\" height=\"400\" alt=\"Othello game board\"/\u003e\n\u003cp/\u003e\n\n\n### Used Technologies\n\n## Technology Stack\n- **Frontend**: Next.js, Typescript, Tailwind CSS, Apollo Client, react-toastify, Zustand, framer-motion\n- **Backend**: Node.js, Express.js, Apollo Server, GraphQL\n- **Database**: MongoDB\n- **Real-Time Communication**: WebSockets\n- **Hosting**: Render.com for the backend and vercel.com for frontend\n\n### Demo\n* https://play-othello.vercel.app/\n\n\n## Project Setup\n\n### Installation\n\n```\ngit clone git@github.com:mustafadalga/othello.git\ncd othello\nnpm run install\n```\n\n### Server\n* The following variables should be defined in an .env file in the server folder.\n\n**Environment Variables(.env)**\n* MONGODB_URL\n* NODE_ENV\n\nChange package.json moduleAliases alias as \"src\"\n```\n  \"_moduleAliases\": {\n    \"@\": \"src\"\n  }\n```\n\n### Client\n* The following variables should be defined in an .env file in the client folder.\n\n**Environment Variables(.env)**\n* NEXT_PUBLIC_SITE_URL\n* NEXT_PUBLIC_API_URL\n* NEXT_PUBLIC_WS_URL\n\n### Running the Project\nTo start the development server and run the project locally, use the following command:\n\n\n#### Front End\n```\ncd client\nnpm run dev\n```\n\n#### Back End\n```\ncd backend\nnpm run dev\n```\n\nOnce the server is running, you can access the project in your web browser at http://localhost:3000.\n\n\n\u003chr/\u003e\n\n### Screenshots\n\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/44cb2465-96b2-4881-a874-1c71e5738f77\" width=\"600\" height=\"600\" alt=\"Othello game board\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/245bd58e-8356-4b36-bf7d-f555d94c0d65\" width=\"600\" height=\"600\" alt=\"Othello game board\"/\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/fc9912b7-02ad-42b4-9ac9-8917b0da2c12\" width=\"600\" height=\"600\" alt=\"Othello game board\"/\u003e\n\u003cp/\u003e\n\n\n## License\n[![License](https://img.shields.io/badge/LICENSE-GPL--3.0-orange)](https://github.com/mustafadalga/othello/blob/main/LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafadalga%2Fothello","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmustafadalga%2Fothello","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafadalga%2Fothello/lists"}