{"id":16981588,"url":"https://github.com/austintheriot/tichu","last_synced_at":"2025-08-24T18:40:34.495Z","repository":{"id":119367020,"uuid":"404185261","full_name":"austintheriot/tichu","owner":"austintheriot","description":"Full stack Rust web app port of the classic card game Tichu. ","archived":false,"fork":false,"pushed_at":"2022-12-17T02:47:40.000Z","size":542,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-11T07:23:14.214Z","etag":null,"topics":["cards","docker","rust","tichu","warp","wasm","webassembly","yew"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/austintheriot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2021-09-08T02:27:22.000Z","updated_at":"2024-10-07T09:46:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ca1e821-78d0-482f-a407-f45be08bdd9a","html_url":"https://github.com/austintheriot/tichu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/austintheriot/tichu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintheriot%2Ftichu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintheriot%2Ftichu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintheriot%2Ftichu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintheriot%2Ftichu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/austintheriot","download_url":"https://codeload.github.com/austintheriot/tichu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/austintheriot%2Ftichu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271923715,"owners_count":24844239,"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","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"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":["cards","docker","rust","tichu","warp","wasm","webassembly","yew"],"created_at":"2024-10-14T02:05:51.829Z","updated_at":"2025-08-24T18:40:34.382Z","avatar_url":"https://github.com/austintheriot.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tichu\n\n## About\n\nTichu is a fun, strategically complex card game based on the traditional Chinese game *Zheng Fen*.\n\nThis app is a fullstack web version of the game, allowing users to play online via their browser. The backend uses the Warp framework for handling websocket connections and synchronizing game state, while the front end is written using the Yew framework and is compiled to WebAssembly for running in-browser. The two communicate via binary websocket messages (using Serde for quick serialization and deserialization on either end). All shared game logic resides in the `/common` directory for easy code and type sharing.\n\nAlthough there are numerous editions of Tichu available for sale, copyright of this game appears to belong to the original publisher, Fata Morgana, and I do not claim copyright on any of the underlying material/mechanics of the game. This project was made for nonprofit, educational purposes only—primarily that of learning the Rust programming language.\n\n## Scripts\n- Prerequisite for running scripts in watch mode: \n```\n cargo install cargo-watch\n```\n\n- To run /server in watch mode: \n```\ncd server\ncargo watch -x run\n```\n\n- To run /server in watch mode (watching entire project): \n```\ncd server\ncargo watch -w ../ -x run\n```\n\n- To build /common files in watch mod:\n```\ncd common\ncargo watch -x build\n```\n\n- To run /client in watch mode:\n```\ncd client\nnpm start\n```\n\n- To run /client in watch mode (watching entire project):\n```\ncd client\ncargo watch -w ../ -- npm run start\n```\n\n- To build docker container: \n```\ndocker build -t tichu .\n```\n\n- To run docker container: \n```\ndocker run -it --name tichu --rm -p 8080:8080 tichu\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustintheriot%2Ftichu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faustintheriot%2Ftichu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faustintheriot%2Ftichu/lists"}