{"id":31925039,"url":"https://github.com/igncp/mahjong","last_synced_at":"2026-04-09T13:55:19.497Z","repository":{"id":147780245,"uuid":"612834593","full_name":"igncp/mahjong","owner":"igncp","description":"一個玩麻雀的網站應用程序，程式碼用 Rust 和 Typescript 編寫","archived":false,"fork":false,"pushed_at":"2024-12-22T14:46:33.000Z","size":2424,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-22T15:36:00.426Z","etag":null,"topics":["actix-web","diesel","docker","github-authentication","hong-kong","mahjong","nextjs","nix","playwright","postgresql","redis","rust","rxjs","typescript","wasm","web-assembly"],"latest_commit_sha":null,"homepage":"https://mahjong-rust.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igncp.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":"2023-03-12T05:31:38.000Z","updated_at":"2024-12-22T14:46:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa0dd41e-d9ed-4ad0-a9b6-676403f7f2f5","html_url":"https://github.com/igncp/mahjong","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/igncp/mahjong","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igncp%2Fmahjong","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igncp%2Fmahjong/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igncp%2Fmahjong/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igncp%2Fmahjong/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igncp","download_url":"https://codeload.github.com/igncp/mahjong/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igncp%2Fmahjong/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017364,"owners_count":26086052,"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-10-13T02:00:06.723Z","response_time":61,"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":["actix-web","diesel","docker","github-authentication","hong-kong","mahjong","nextjs","nix","playwright","postgresql","redis","rust","rxjs","typescript","wasm","web-assembly"],"created_at":"2025-10-14T00:26:42.233Z","updated_at":"2025-10-14T00:26:43.175Z","avatar_url":"https://github.com/igncp.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 麻雀 - Mahjong\n\n![Checks](https://github.com/igncp/mahjong/actions/workflows/checks.yml/badge.svg) ![Deploy](https://github.com/igncp/mahjong/actions/workflows/deploy.yml/badge.svg)\n\nHong Kong style mahjong game engine and web application. It uses a server to\nhandle games which handles most of the game mechanics.\n\n1. Core library with the game mechanics, tests, and AIs focused in performance and correctness\n1. Service that persists and handles games for clients\n    - Can be communicated via an HTTP API\n    - It creates a WebSocket per active game, to process the game and communicate with clients\n1. Scripts to handle different tasks related to the code deployment and tests\n    - For example running linting, tests, and deploying to Dockerhub\n1. Web client to play, both for desktop and mobile web\n    - It uses a drag-n-drop UI to play, and it has translated texts\n    - Includes E2E tests\n1. A Rust cli for running simulations\n\nYou can find the project's Rust documentation [here](https://mahjong-rust.com/doc/mahjong_core).\n\n## Development\n\nThere is a [flake.nix](./flake.nix) file with all the required libraries needed\nfor development, including android, it requires that you have the Nix\npackage manager installed.\n\nOnce you have cloned the repository there are a few things to setup:\n\n1. Generate the `.env` files where present by copying the templates\n1. Install the dev dependencies: `cd scripts \u0026\u0026 bash src/main.sh dev_install`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figncp%2Fmahjong","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figncp%2Fmahjong","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figncp%2Fmahjong/lists"}