Перейти к содержанию

Локальная разработка

Требования

  • Docker Desktop (или Docker + Compose v2)
  • Node.js 20+ (для веб без Docker)
  • Python 3.11+ (для API без Docker)
  • Telegram Bot Token (опционально, для бота)

Быстрый старт (Docker)

# 1. Скопировать переменные окружения
cp .env.example .env
# Отредактировать BOT_TOKEN в .env
# При конфликте портов — изменить TABLETIME_*_PORT в .env

# 2. Запустить все сервисы (проект Docker: tabletime, не infra)
cd infra
docker compose --env-file ../.env up --build

# 3. Открыть (порты по умолчанию, см. .env.example)
# - Веб: http://localhost:3100
# - API: http://localhost:8100/health
# - MinIO: http://localhost:9011 (minioadmin/minioadmin)

Локальный запуск без Docker

PostgreSQL + Redis + NATS

Запустите инфраструктуру через Docker:

cd infra
docker compose up postgres redis nats minio -d

API

cd services/api
pip install -e ".[dev]"  # или pip install из pyproject.toml
cp ../../.env.example ../../.env
alembic upgrade head
uvicorn app.main:app --reload --port 8000

Web

cd apps/web
npm install
npm run dev
# http://localhost:3000

Bot

cd services/bot
pip install .
# Установить BOT_TOKEN в .env
python -m app.main

Проверка работоспособности

  1. Откройте http://localhost:3000
  2. Создайте комнату — получите код приглашения
  3. Откройте вторую вкладку → /join → введите код
  4. Оба участника видны в лобби
  5. Хост запускает dice_board
  6. Сыграйте партию до победы

MkDocs

pip install -r requirements-docs.txt
python -m mkdocs serve
./scripts/build-docs.sh   # build --strict + .nojekyll для коммита site/

Публикация на GitVerse Pages

Статика MkDocs хранится в каталоге site/ в репозитории.

  1. Настройки репозитория → Страницы → Источник: «Ветка», папка /site, ветка master.
  2. После правок в docs/: ./scripts/build-docs.sh, закоммитить site/, push.
  3. URL: https://gitverse.ru/Mihaham/Table-Time/ (см. site_url в mkdocs.yml).