Онлайн-карточная игра в реальном времени
Мультиплеерная карточная игра в браузере с лобби и комнатами, где состояние партии синхронизируется у всех игроков через WebSocket.
Задача
Хотел сделать что-то за пределами типовых CRUD-сайтов — игру, где несколько игроков видят действия друг друга сразу, без перезагрузки страницы.
Что сделано
Сервер на Node.js с Socket.io держит состояние комнаты и партии и рассылает обновления всем подключённым игрокам; клиент на React/TypeScript реализует вход, лобби с созданием и подключением к комнате и игровой стол.
Это личный проект для отработки realtime-взаимодействия через WebSocket, без домена и без привязки к реальному бизнесу.
На чём сделано
Список для тех, кому важно, что внутри. Рядом — что каждое из этого означает для владельца сайта.
- React
- Библиотека для интерфейсов, которые меняются без перезагрузки страницы.
- TypeScript
- JavaScript с проверкой типов: часть ошибок ловится до того, как их увидит пользователь.
- Vite
- Сборщик фронтенда — собирает и сжимает то, что уходит в браузер.
- Node.js
- Серверная часть на JavaScript — там, где важна скорость обмена сообщениями.
- Socket.io
- Постоянная связь между браузером и сервером: изменения видны у всех сразу, без обновления страницы.
Похожие работы
доступ по логину
CRM «ЭнергоПульс»
ЭнергосбытМультиарендная CRM для учёта энергопоказаний. Роли и их совмещение, тикеты поддержки, PWA. Каждый день работает в компании.
доступ по логину
Панель мониторинга
ИнфраструктураСобственный дашборд состояния серверов: занятость дисков, сроки SSL, логи nginx. Инструмент, которым я слежу за всеми проектами.
доступ по логину
Учёт заявок мастерской по ремонту телефонов
Ремонт техникиВнутренняя система учёта для мастерской по ремонту телефонов: статусы заявок, мастера, автоматический расчёт стоимости, печать документов.