Перейти к содержимому

Рабочее приложение клуба: завести турнир, провести день игры от чек-ина до результатов, вести live-пульт. Им пользуются владельцы клубов, турнирные директора и дилеры — с разными правами.

Где код: github.com/Klonaps/poker-organizer, локально repos/poker-organizer.

Тот же, что у игрока: Expo 57 / React Native 0.86, expo-router, TanStack Query, zustand, i18next, socket.io-client. Отличие — целевое устройство: прежде всего Expo Web на планшете или ноутбуке в заведении, а не телефон.

Окно терминала
pnpm --dir repos/poker-organizer exec expo start --web --port 8092 --clear

Адрес API — EXPO_PUBLIC_API_URL, для локального стенда http://localhost:3001.

pnpm build:webexpo export --platform web плюс минификация HTML, дальше nginx в образе. Единственный аргумент сборки — EXPO_PUBLIC_API_URL, и он тоже Build Arg, а не Env: Metro вшивает значение в бандл.

Организатор подключается к namespace /live с токеном в handshake (auth: { token }) — гейт требует JWT на подключении. Это стоит помнить при отладке: молчащий сокет чаще всего означает отсутствующий или протухший токен, а не потерянное соединение.

Окно терминала
pnpm test

Это jest --forceExit — по той же причине, что у игрока.