{"id":15047384,"url":"https://github.com/kaizen-cmd/cpp-tcp-server-tic-tac-toe","last_synced_at":"2026-02-04T13:10:37.649Z","repository":{"id":218103132,"uuid":"745542151","full_name":"kaizen-cmd/cpp-tcp-server-tic-tac-toe","owner":"kaizen-cmd","description":"Low level implementation of a tcp server with custom protocol","archived":false,"fork":false,"pushed_at":"2024-01-21T14:31:02.000Z","size":34,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T19:37:56.388Z","etag":null,"topics":["cpp11","networking","socket-programming","tcp-server","tictactoe-game"],"latest_commit_sha":null,"homepage":"https://tejasmandre.vercel.app","language":"C++","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/kaizen-cmd.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":"2024-01-19T15:05:35.000Z","updated_at":"2024-09-13T04:20:00.000Z","dependencies_parsed_at":"2025-03-13T20:31:45.353Z","dependency_job_id":null,"html_url":"https://github.com/kaizen-cmd/cpp-tcp-server-tic-tac-toe","commit_stats":null,"previous_names":["kaizen-cmd/cpp-tcp-server-tic-tac-toe"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kaizen-cmd/cpp-tcp-server-tic-tac-toe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaizen-cmd%2Fcpp-tcp-server-tic-tac-toe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaizen-cmd%2Fcpp-tcp-server-tic-tac-toe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaizen-cmd%2Fcpp-tcp-server-tic-tac-toe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaizen-cmd%2Fcpp-tcp-server-tic-tac-toe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaizen-cmd","download_url":"https://codeload.github.com/kaizen-cmd/cpp-tcp-server-tic-tac-toe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaizen-cmd%2Fcpp-tcp-server-tic-tac-toe/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264502387,"owners_count":23618587,"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":["cpp11","networking","socket-programming","tcp-server","tictactoe-game"],"created_at":"2024-09-24T20:57:24.501Z","updated_at":"2026-02-04T13:10:32.630Z","avatar_url":"https://github.com/kaizen-cmd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# How to Build and Run\n\n## Server:\n\n1. Navigate to the `src/tcp_server` folder.\n2. Build the server using the Makefile: `make server`.\n3. Run the server with `./binaries/game_tcp_server`.\n\n## Client:\n\n1. Navigate to the `src/client` folder.\n2. Build the client using the Makefile: `make client`.\n3. Run the client with `./binaries/game_client`.\n\n## Tests:\n\nBuild and run the tests using the Makefile: `make test`.\n\n## 🎮 Gameplay\n\n- Connect two clients to the server.\n- Clients will be assigned 'X' and 'O'.\n- Use the following format to make a move: `X\u003cspace\u003eY` where `X` and `Y` are the coordinates (0-2).\n- Example: `1 1` represents placing a symbol in the center.\n\n\n## Class diagram\n\n![Class diagram](classes.png)\n\n\n## 📝 Notes\n\n- The server uses a simple TCP connection to handle two clients.\n- The Tic Tac Toe game logic is implemented in the `TicTacToe` class.\n- The server and client communicate using a custom protocol for moves and messages.\n\n## 🚀 GitHub Actions\n\nThe repository is configured with GitHub Actions to automate the build and release process:\n\n### Build and Test:\n\n- Automatically builds and tests the project on every push to the main branch.\n- Checks for any build or test failures.\n\n### Release:\n\n- Generates a release when code is merged into the main branch.\n- The release includes the compiled binaries for the server (`game_tcp_server`) and client (`game_client`).\n- The release is tagged with the format `v1.x` where `x` is the GitHub Actions run number.\n\nTo download the released binaries, navigate to the [Releases](https://github.com/kaizen-cmd/cpp-tcp-server-tic-tac-toe/releases) section on GitHub.\n\nFeel free to explore and modify the code and GitHub Actions workflows for your needs!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaizen-cmd%2Fcpp-tcp-server-tic-tac-toe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaizen-cmd%2Fcpp-tcp-server-tic-tac-toe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaizen-cmd%2Fcpp-tcp-server-tic-tac-toe/lists"}