Кейс · 2026 · В разработке

Duolo

Платформа простых браузерных игр для двух пользователей. Комната создаётся без регистрации, а сервер синхронизирует всю партию в реальном времени.

Next.jsFastifySocket.IOGame logicPlaywright
Duolo — игры для двоих

Играть вместе, даже находясь далеко.

Пользователь выбирает игру, создаёт комнату и отправляет ссылку второму игроку. Аккаунты и установка не нужны: достаточно браузера, кода комнаты и никнейма.

Крестики-нолики 3×3 и 5×5Четыре в рядСовместное и соревновательное судокуНайди пару

Сервер решает, клиент показывает.

Realtime multiplayer

Socket.IO синхронизирует lobby, ready-state, ходы, restart и rematch между независимыми клиентами.

Авторитетный сервер

Сервер проверяет комнату, очередность, допустимость хода, победу, ничью и состояние матча.

Reconnect

Session ID сохраняется в браузере: refresh и краткий обрыв соединения восстанавливают место игрока.

Четыре движка

От падения фишек и линий победы до уникального Sudoku и синхронного закрытия карточек.

MVP без лишнего

Комнаты живут в памяти и удаляются по TTL. База данных и аккаунты не добавлены раньше необходимости.

Проверка двумя игроками

Playwright запускает два независимых browser context и тестирует реальный сетевой сценарий.

Два приложения, один игровой контур.

Next.js 16, React 19, TypeScript, Tailwind CSS, Motion и Zustand на клиенте. Node.js 22, Fastify и Socket.IO на сервере. pnpm workspaces и Turborepo объединяют проект в монорепозиторий.

WebSocket-firstPolling fallbackTypeScript strictESLintNginxsystemd