Какмысобралисистемууправленияклубомза12недель
Двадцать шесть модулей, четыре роли пользователей, три языка — под одну хоккейную школу, но с прицелом на любой командный спорт.
Когда к нам пришёл HK Vojvodina, клуб больше десяти лет жил на Excel, группах в Viber и бумажных папках. Тренеры отмечали посещаемость от руки. Медик вёл травмы в бумажной папке. Родители узнавали об отмене тренировки из группового чата, который листать невозможно. Вопрос "заплатил ли Марко за ноябрь и как у него динамика катания" не имел быстрого ответа ни у кого.
Через 12 недель весь клуб работает в одной системе. Что реально отгружено, что нет, и какие выводы.
Начали с карты реальной работы, а не оргструктуры. Тренер в 7 утра открывает состав, отмечает кто пришёл, пишет заметку по упражнению. Родитель смотрит расписание по дороге на работу. Управление раз в месяц смотрит отчёт. Четыре разные задачи — четыре разных интерфейса. Отсюда четыре роли: admin, тренер, родитель, игрок.
Всего в платформе 26 модулей. Двенадцать живых: расписание тренировок с повторениями, посещаемость, оценка навыков, счета и учёт оплат, медицинские записи, соревнования с live-статистикой, новости, фотогалерея, нотификации, отчёты, публичный сайт, CMS. Ещё несколько — заглушки в roadmap (онлайн-чек, видеоанализ, AI-ассистент по упражнениям). Отгрузили то что больно сейчас, а не то что когда-то будет круто.
Стек подчёркнуто скучный: Next.js 16, Supabase на базу и авторизацию, shadcn/ui, TanStack Query. RLS на каждой таблице — родитель физически не может прочитать данные чужого ребёнка. Повторяющиеся события через RRULE: "понедельник 18:00, пропуск на рождественскую неделю" — одна строка, а не 52. Materialised views держат статистику турниров без собственного слоя кеша.
Главный урок: онлайн-оплата — не самая сложная часть платёжного модуля. Сначала собрали весь invoicing, трекинг и сверку; онлайн-процессинг подключим когда клуб сам попросит. Большинство платят банковским переводом по счёту, и распечатка пока решает. Гнать онлайн-чекаут на второй неделе стоило бы нам двух рабочих модулей в других местах.
Архитектура намеренно sport-agnostic. Катание, броски и прочая хоккейная специфика — в одном модуле. Замени этот модуль — и та же платформа работает для футбольной академии, волейбольного клуба или школы плавания. Это следующая фаза — первый не-хоккейный клиент стартует в мае.