exchange_kts — биржевая игра в Telegram. Игроки покупают и продают активы,
влияют на рынок и проходят игровые раунды с голосованиями.
Проект работает в микросервисном режиме: poller, worker, sender,
game-service, api-admin, mini-app + инфраструктура (postgres,
rabbitmq, migrator).
git clone https://github.com/nais2008/exchange_kts
cd exchange_ktsИспользуйте docker-шаблон:
cp etc/config.docker.yml etc/config.ymlДля Windows PowerShell:
Copy-Item etc/config.docker.yml etc/config.ymlПосле копирования откройте etc/config.yml и укажите:
bot.token— токен Telegram-бота.bot.mini_app_url— публичный URL мини-приложения (если нужен).
docker compose up --build -dЧто поднимется:
- бизнес-сервисы:
poller,worker,sender,game-service,api-admin,mini-app-2 - инфраструктура:
postgres,rabbitmq,migrator
migrator автоматически выполняет alembic upgrade head один раз при старте.
docker compose psПолезные URL:
- Admin API:
http://localhost:8080 - Mini App API:
http://localhost:8090 - RabbitMQ UI:
http://localhost:15672
docker compose downПодходит для разработки, когда инфраструктура уже запущена отдельно.
uv venv
uv syncСкопируйте etc/example.config.yml в etc/config.yml и заполните:
bot.token- параметры БД и RabbitMQ для вашего локального окружения.
uv run alembic upgrade headuv run python -m services.sender.main
uv run python -m services.game_service.main
uv run python -m services.worker.main
uv run python -m services.poller.main
uv run python -m services.api_admin.main
uv run python -m services.mini_app.mainuv run pytest
uv run ruff format
uv run ruff check --fixhttps://miro.com/app/board/uXjVG2dOgmg=/?share_link_id=3487425909