Skip to content

Latest commit

Β 

History

History
354 lines (293 loc) Β· 13.4 KB

File metadata and controls

354 lines (293 loc) Β· 13.4 KB
title Chessmate System Guide
service global
status draft
last_reviewed 2025-12-06
type index

Chessmate System Guide

Quick navigation and index for the Chessmate microservices platform.

πŸš€ Quick Start

⚠️ First Time Setup (Required)

Before anything else, install the dx-cli tool:

# Clone the repository
git clone <repository-url>
cd chessmate

# Install dx-cli (REQUIRED FIRST STEP)
cd dx-cli
npm install
npm run build
cd ..

# Verify installation
node dx-cli/dist/index.js doctor

Once dx-cli is installed, see dx-cli/README.md for all available commands.

For Developers

  1. Install dx-cli (see above)
  2. Read AGENTS.md - Platform principles and philosophy
  3. Run node dx-cli/dist/index.js dev - Start development environment
  4. Check your service's README: /<service>/README.md
  5. Follow dev guide: /<service>/docs/ (use how-to/local-dev.md for setup)

For Operators

  1. Install dx-cli (see above)
  2. Read SRE Playbook
  3. Read Incident Response Guide
  4. Check service runbooks: /<service>/docs/RUNBOOK.md

For Product/Business

  1. Product Vision
  2. Glossary
  3. Domain Overview

πŸ› οΈ Developer Experience Platform (dx-cli)

The unified command-line interface for all developer workflows.

Location: ./dx-cli/

Key Commands:

  • node dx-cli/dist/index.js dev - Start development environment
  • node dx-cli/dist/index.js test - Run tests
  • node dx-cli/dist/index.js build - Build services
  • node dx-cli/dist/index.js deploy <env> - Deploy to environment
  • node dx-cli/dist/index.js doctor - Check system health

Documentation:

See Quick Start above for installation instructions.


πŸ“‹ Service Directory

API Services

Player account and profile management service.

  • Language: Python (FastAPI)
  • Database: PostgreSQL
  • Status: Operational
  • Quick Links: README | Docs | API Spec

Real-time active game state and moves.

  • Language: Python (FastAPI)
  • Database: PostgreSQL
  • Status: Operational
  • Quick Links: README | Docs | API Spec

Authoritative history ingestion and retrieval service fed by Kafka game events.

  • Language: Go (REST)
  • Database: PostgreSQL + S3 archival
  • Status: Draft
  • Quick Links: README | Docs | API Spec

Player matching and queue management.

  • Language: Python (FastAPI)
  • Database: PostgreSQL
  • Status: Operational
  • Quick Links: README | Docs | API Spec

Player ratings across pools using Glicko-2.

  • Language: Python (FastAPI)
  • Database: PostgreSQL
  • Status: Draft
  • Quick Links: README | Docs | API Spec

Engine-backed bot orchestration service (BotSpec, engine, knowledge integration).

  • Language: Python (FastAPI)
  • Database: None (stateless)
  • Status: Draft
  • Quick Links: README | Docs | API Spec

Chess engine evaluation service running Stockfish-like engines.

  • Language: Python (FastAPI)
  • Database: None (stateless)
  • Status: Draft
  • Quick Links: README | Docs | API Spec

Chess knowledge service for opening books and endgame tablebases.

  • Language: Python (FastAPI)
  • Database: None (stateless)
  • Status: Draft
  • Quick Links: README | Docs | API Spec

Client Applications

Mobile and web user interface.

  • Language: TypeScript (React Native + React)
  • Platforms: iOS, Android, Web
  • Status: Operational
  • Quick Links: README | Docs

πŸ“š Platform Documentation

Architecture & Design

Standards & Guidelines

Operations & Reliability

Business Context

Decisions


πŸ” Search by Topic

Getting Started

  • I'm a new developer: Read AGENTS.md, then your service README
  • I'm setting up my dev environment: See /<service>/docs/GETTING_STARTED.md I need to run tests: Check your service's README for test commands I need to deploy: Read /<service>/docs/RUNBOOK.md β†’ Deployment section I need to set up my dev environment: See /<service>/docs/how-to/local-dev.md

Development

Operations

Business & Product

Architecture & Design


πŸ”— Cross-References

By Service

account-api

live-game-api

matchmaking-api

chess-app


πŸ“Š Repository Structure

chessmate/
β”œβ”€β”€ AGENTS.md                    # Engineering guide & principles
β”œβ”€β”€ ARCHITECTURE.md              # System architecture overview
β”œβ”€β”€ SYSTEM_GUIDE.md              # This file - navigation & index
β”‚
β”œβ”€β”€ docs/                        # Cross-service documentation
β”‚   β”œβ”€β”€ README.md                # Docs index & navigation
β”‚   β”œβ”€β”€ standards/               # Platform standards
β”‚   β”‚   β”œβ”€β”€ coding-style.md
β”‚   β”‚   β”œβ”€β”€ testing.md
β”‚   β”‚   β”œβ”€β”€ logging.md
β”‚   β”‚   β”œβ”€β”€ security.md
β”‚   β”‚   β”œβ”€β”€ observability.md
β”‚   β”‚   └── documentation.md
β”‚   β”œβ”€β”€ architecture/            # System architecture
β”‚   β”‚   β”œβ”€β”€ system-context.md
β”‚   β”‚   β”œβ”€β”€ domain-map.md
β”‚   β”‚   β”œβ”€β”€ service-catalog.md
β”‚   β”‚   └── integration-flows.md
β”‚   β”œβ”€β”€ operations/              # Operational guides
β”‚   β”‚   β”œβ”€β”€ sre-playbook.md
β”‚   β”‚   β”œβ”€β”€ incident-response.md
β”‚   β”‚   └── oncall-guide.md
β”‚   β”œβ”€β”€ business/                # Business context
β”‚   β”‚   β”œβ”€β”€ product-vision.md
β”‚   β”‚   β”œβ”€β”€ domain-overview.md
β”‚   β”‚   └── glossary.md
β”‚   └── decisions/               # Architectural decisions
β”‚       β”œβ”€β”€ README.md
β”‚       └── ADR-*.md
β”‚
β”œβ”€β”€ account-api/                 # Service: Account & Identity
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ docs/
β”‚   β”‚   β”œβ”€β”€ README.md
β”‚   β”‚   β”œβ”€β”€ overview.md
β”‚   β”‚   β”œβ”€β”€ ARCHITECTURE.md
β”‚   β”‚   β”œβ”€β”€ api.md
β”‚   β”‚   β”œβ”€β”€ domain.md
β”‚   β”‚   β”œβ”€β”€ operations.md
β”‚   β”‚   β”œβ”€β”€ RUNBOOK.md
β”‚   β”‚   β”œβ”€β”€ how-to/
β”‚   β”‚   β”œβ”€β”€ decisions/
β”‚   β”‚   └── migrations/
β”‚   β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ migrations/
β”‚   β”œβ”€β”€ tests/
β”‚   └── pyproject.toml
β”‚
β”œβ”€β”€ live-game-api/               # Service: Real-Time Gaming
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ docs/
β”‚   β”‚   └── [same structure as account-api]
β”‚   β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ migrations/
β”‚   β”œβ”€β”€ tests/
β”‚   └── pyproject.toml
β”‚
β”œβ”€β”€ matchmaking-api/             # Service: Player Matching
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ docs/
β”‚   β”‚   └── [same structure as account-api]
β”‚   β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ migrations/
β”‚   β”œβ”€β”€ tests/
β”‚   └── pyproject.toml
β”‚
└── chess-app/                   # Client: Mobile & Web UI
    β”œβ”€β”€ README.md
    β”œβ”€β”€ docs/
    β”‚   β”œβ”€β”€ README.md
    β”‚   β”œβ”€β”€ overview.md
    β”‚   β”œβ”€β”€ ARCHITECTURE.md
    β”‚   β”œβ”€β”€ how-to/
    β”‚   └── decisions/
    β”œβ”€β”€ src/
    β”œβ”€β”€ package.json
    └── [React/React Native config]

πŸ†˜ Getting Help

Question Resource
Where do I start? Read AGENTS.md first
How do I set up my dev environment? Service-specific GETTING_STARTED.md
What's the architecture? ARCHITECTURE.md and system-context.md
How do I deploy? Service RUNBOOK.md under "Deployment"
There's an incident! Incident Response Guide
What does term X mean? Glossary
Why was decision Y made? Architecture Decisions
How do I write code? Coding Standards
How should I test? Testing Standards
What's the product roadmap? Product Vision

Last updated: 2025-12-06 For updates to this guide, see: Documentation Standards