все проекты / кейс 02
PandaSale Мероприятия — платформа турниров и игротек

Задача
Магазину настольных игр и сообществу игроков нужна была единая площадка: расписание игротек и турниров, онлайн-регистрация с подтверждением участия, турнирные результаты и рейтинг игроков — всё в одном месте.
Решение
SaaS-платформа: календарь мероприятий, конструктор регистрационных форм, ELO-рейтинг с автоматическим начислением при завершении турнира и честным пересчётом при правке результатов задним числом, судейский интерфейс с таймером раундов, вход по magic-link и через VK, синхронизация каталога игр с МойСклад, медиа в Object Storage за CDN. Строгая типизация без any, валидация всех входов через Zod, unit-тесты на Vitest.
Результат
MVP работает на events.pandasale.ru: мероприятия, календарь, рейтинг, аренда игр и столов. Архитектура зафиксирована под рост до федеральной платформы для магазинов, клубов и организаторов.
// до → после
Как мы это делали
Продукт вырос из простой задачи «записать людей на игротеку» и за несколько итераций стал платформой. Схема данных выросла с 68 до 108 таблиц — каждая новая возможность добавлялась поверх работающего сервиса, без остановок и переписываний с нуля.
Из чего он состоит
- Календарь мероприятий — расписание игротек и турниров, страница события с описанием, правилами и призами.
- Конструктор форм регистрации — организатор сам задаёт поля, которые нужны на конкретное мероприятие.
- ELO-рейтинг — очки начисляются автоматически при закрытии турнира и честно пересчитываются, если результат правят задним числом.
- Судейский интерфейс — таймер раундов, ввод результатов, разбивка по столам.
- Вход без пароля — magic-link на почту и авторизация через VK.
- Аренда игр и столов — бронирование на конкретное время.
- Синхронизация каталога игр с МойСклад — библиотека клуба и товары магазина не расходятся.
Строгая типизация без `any`, валидация всех входов через Zod, unit-тесты на Vitest — платформа рассчитана на рост, а не на демонстрацию.