Пуля
Онлайн-преферанс втроём или вчетвером с видеосвязью, дизайн «клуб».
- Статус
- готово, с друзьями играли
- Роль
- [TBD: перевод]
- Стек
- Python 3.13FastAPIWebSocketSQLiteReact 18TypeScriptViteWebRTCcoturnnginx streamCaddyDocker ComposeGitHub Actions
W 1160
A-061600 × 1000


01[TBD: перевод]
[TBD: перевод][TBD: перевод]
[TBD: перевод]
[TBD: перевод]
[TBD: перевод]
02Архитектура
[TBD: перевод]
Как это устроено
VPS · docker compose
[TBD] · React SPA, WebRTC + RNNoise
mux · [TBD]
web · [TBD]
server · [TBD]
[TBD] · [TBD]
coturn · STUN/TURN
SQLite · [TBD]
[TBD]
Let's Encrypt
GHCR
GitHub Actions
443
[TBD]
[TBD]
[TBD]
Легенда
- HTTP
- внешний сервис
- запросы
- хранилище
[TBD] · React SPA, WebRTC + RNNoise
[TBD] · [TBD]
[TBD]
mux · [TBD]
coturn · STUN/TURN
web · [TBD]
server · [TBD]
SQLite · [TBD]
Let's Encrypt
GHCR
GitHub Actions
VPS · docker compose
Легенда
- HTTP
- внешний сервис
- запросы
- хранилище
03Цифры
[TBD: перевод]
В цифрах
- 872 [TBD: перевод]
- 223 [TBD: перевод]
- 17 [TBD: перевод]
- 24 [TBD: перевод]
[TBD: перевод]
04Инженерные решения
[TBD: перевод]
Что было непросто
Решение 01
[TBD: перевод]
[TBD: перевод]
Решение 02
[TBD: перевод]
[TBD: перевод]
Решение 03
[TBD: перевод]
[TBD: перевод]
Решение 04
[TBD: перевод]
[TBD: перевод]
Решение 05
[TBD: перевод]
[TBD: перевод]
05История
18.10 → 25.10.2026
[TBD: перевод]
- 18.10.2026[TBD: перевод]
- 19.10[TBD: перевод]
- 22.10[TBD: перевод]
- 25.10[TBD: перевод]
06Экраны
только десктоп · 1600 × 1000только десктоп
Как это выглядит
-
[TBD: розыгрыш] 1600 × 1000
-
[TBD: лист пули в конце] 1600 × 1000
07Интеграции
7
[TBD: перевод]
- WebRTC
- coturn
- RNNoise
- Let's Encrypt
- [TBD: перевод]
- GitHub Actions
- GHCR