LUNO.
Обсудить проект
← Все кейсы

Сайт футбольных лиг МФЛ в Ставрополе

2026 · Дизайн и разработка

МФЛ — любительские футбольные лиги Ставрополя в формате 7×7: дневная МФЛ, ночная МНЛ и детские чемпионаты по годам рождения. В VK у лиг 7,2 и 2,3 тысячи подписчиков. А своего сайта не было: лига жила в сообществах, а команды записывались в личных сообщениях организатору.

Сайт футбольной лиги должен был дать ей память: у каждого матча, команды и игрока — своя страница, а у игрока — статистика, за которой можно следить.

Что было

Своего сайта у лиг не было. Дневная МФЛ и ночная МНЛ вели по сообществу в VK, и всё, что происходило в лиге, проходило через них. Чтобы записать команду, капитан писал организатору в личные сообщения.

Страницы игрока не было — как и сайта, на котором она могла бы жить. Голы, передачи и сыгранные матчи за сезон нигде не складывались в одну картину.

Гипотеза

Если у каждого матча, команды и игрока будет своя страница, а запись команд переедет из личных сообщений на сайт, то лига перестанет держаться на ленте и переписке — а игрок будет приходить не только за счётом, но и за своей статистикой.

Принципы

  • Телефон первым

    Сайт и админка сначала собраны под экран телефона, широкий экран — потом. Длинный список делится на страницы по 20 строк, а не тянется полотном.

  • Запись — без переписки

    Капитан входит через VK или по почте и подаёт заявку команды прямо на странице турнира. Организатор видит её в админке, а не в личных сообщениях.

  • Счёт складывается из голов

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

  • Новую лигу заводит организатор

    Лига — запись в админке, а не строчка в коде. Четвёртую, пятую или женскую лигу организатор заводит сам — без программиста и без обновления сайта.

Решение

  1. 01 — Главная

    Две лиги жили в двух сообществах VK — на сайте у них одна главная, вместе с детскими чемпионатами. Ближайшие матчи всех лиг идут одной лентой, поэтому у каждого стоит логотип его лиги: чей это матч, видно без перехода. Взрослых и детей разделяет переключатель.

    Главная сайта МФЛ: карточки дневной и ночной лиги, переключатель «Взрослые» и «Для детей»
    Ближайшие матчи всех лиг одной лентой: у каждого матча логотип его лиги
  2. 02 — Страница турнира

    Турнир целиком — по одной ссылке: таблица, расписание, статистика и команды живут на одной странице вкладками. Таблицу никто не пересчитывает вручную: очки складываются из результатов, как только матч завершён. Закончившийся сезон не пропадает — он уходит в «Прошедшие» на странице лиги.

    Турнирная таблица дневной лиги МФЛ: очки, форма и разница мячей
    Статистика турнира ночной лиги МНЛ: бомбардиры с числом голов и матчей
  3. 03 — Страница матча

    Страница матча — источник всей статистики лиги. Гол вносится с автором и передачей, и из одного матча обновляются таблица, бомбардиры турнира, профили игроков и рейтинг. Звание лучшего игрока матча уходит в профиль — это достижение остаётся с игроком.

    Страница завершённого матча: счёт, команды и лучший игрок матча
    События матча по минутам: голы с авторами и передачами
  4. 04 — Профиль игрока

    Профиль сделан, чтобы игрок следил за своим сезоном. В нём собрано всё сыгранное — по каждому турниру отдельно, а кто играет за две команды в двух лигах, видит один профиль, а не два. Кнопка «Это мой профиль» запоминает игрока на телефоне без регистрации: дальше пункт «Профиль» в меню открывает сразу его страницу.

    Профиль игрока: фото, оценка, голы, передачи и команды за сезон
    Рейтинг игроков лиги: оценка, число матчей и команды каждого игрока
  5. 05 — Заявка команды

    Запись переехала из личных сообщений на страницу турнира. Пока идёт регистрация, капитан входит через VK или по почте и подаёт заявку с составом — а если что-то поменялось, правит её сам. Организатор видит заявки в админке. Фото игроков тренер и капитан тоже загружают сами, со своих аккаунтов.

    Вход для капитанов: через VK или по почте
  6. 06 — Админка

    Админка сделана под телефон организатора. Результат вносится событиями — гол, автогол, карточка, — и каждое сохраняется сразу, кнопки «Сохранить» нет. Таблицу, бомбардиров и рейтинг сайт считает сам. Новые заявки видно на обзоре числом, а сезоны, туры и группы организатор собирает там же.

Что не сработало с первого раза

Первая версия считала голы, передачи и карточки по любому матчу — в том числе по идущему. А сыгранные матчи — только по завершённым. Организатор вносил гол по ходу игры, и в профиле бомбардира появлялось «1 гол · 0 матчей»: гол есть, а матча, в котором он забит, как будто нет.

Правило перевернули: вся личная статистика — голы, передачи, карточки, сыгранные матчи и рейтинг — считается одним фильтром, только по завершённым матчам. Гол идущего матча попадает в профиль вместе с финальным свистком. Лучшего игрока матча тоже показывают только после него. Пока матч идёт, это ещё не статистика.

Почему это сработало

Сайт лиги — это не ещё одна лента. Лента у неё уже была, в VK.

В ленте матч живёт, пока пост наверху. На сайте он остаётся: в таблице, в профилях бомбардиров, в рейтинге, а закончившийся сезон — в «Прошедших».

Лента прокручивается. Статистика — копится.