Развитие сайта Tennison
Что уже реализовано, что делаем сейчас и что планируем добавить.
Если хотите помочь развитию - можно поддержать проект.
Поддержать проектТурниры
За пару минут видно весь сезон и можно собрать свой план: что хочешь сыграть, где пересечения по срокам и сколько примерно матчей выйдет.
- Сезон по месяцам - сроки и серии (500 / 600 / 1000+), без листания длинной таблицы
- «+ В план» на турнире - собирается блок «Мой сезон»
- Сразу видно пересечения дат и нагрузку (≈матчи)
- Можно оставить на карте только свои турниры
- Когда готов записаться - переход на страницу турнира; PDF сезона под рукой
- Где: меню «Ещё → Календарь»
Матчи и рейтинг
Экран результата стал проще набирать: меньше тапов, тай-брейк рядом с сетом, подсказки только когда что-то не так - и страница не зависает в Safari.
- После цифры курсор сам переходит в следующее поле
- Тай-брейк в одной строке с сетом; при 6:6 + ТБ сет становится 7:6
- Подсказки только при ошибке; видно, кто победил
- На iPhone страница больше не зависает из-за внешних CDN
Турниры
На странице турнира серии 1000 видно, как заявки делятся на приоритет, кандидатов и тех, кто пока не проходит критерии - до решения оргкомитета.
- Группы: Приоритет, Кандидаты, Не соответствуют критериям
- Бейджи по правилам допуска: ТОП, турниры сезона, игры, подписка, ≤40%, др. категория
- При другой категории - красным видно текущую категорию игрока
- Состав до 48, до 12 Wild Card; запись и выход - в блоке «Запись с / Старт»
- Место в составе не гарантировано, пока оргкомитет не утвердил состав
Профиль
Понятный сценарий смены категории без повторного NTRP: что сделать самому, когда писать оргкомитету и как узнать о решении.
- В профиле: сменить категорию по УС сам или запросить перевод при серии побед/поражений
- Пока в очереди - чип «на рассмотрении» и страница /category-watch/ («Я», поиск, сценарии)
- После решения оргкомитета - плашка в профиле: «Понятно» или «Сообщить об ошибке»
- «Сообщить об ошибке» уходит оргкомитету (inbox / email / Telegram) - не апелляция в один клик
- Оргам: очередь Оставить/Перевести, «На контроле», «Вероятная ошибка», «Перешли сами»
По серии и форме видно, что категория может не совпадать с игрой - спокойный сигнал себе и сопернику, без «приговора».
- Сигнал «категория может быть неточной» по статистике и форме (в т.ч. hard-MIS)
- Ссылки на правила переводов и страницу /category-watch/
- Соперник может порекомендовать категорию - оргкомитет увидит сигнал
- Это подсказки по данным платформы, не отдельный «AI-коуч»
Матчи и рейтинг
На странице личных встреч - честный ориентир перед матчем: не один процент по общим соперникам, а расклад по нескольким слоям.
- Смесь слоёв: УС, общие соперники, личные встречи, очки сезона
- При малом числе данных веса слабее; около 50% - паритет
- Иконка «i» - кратко, как считается
- Старый «вероятнее победа %» только по общим соперникам убран
Турниры
Страница /kachaly-atakers/ читается как матч двух сторон: команды, заявки и мини-составы по уровню - с голосом на чипах.
- Вкладки: Команды, Заявились, Составы по УС
- Мини-команды ×4 напротив по уровню
- Голос и «кто выбрал» прямо на чипах игроков
- Капитаны правят свои мини-команды; оргкомитет собирает и утверждает составы
Матчи и рейтинг
Видео с канала t.me/tennisonvideo появляются на сайте только если удалось однозначно привязать ролик к матчу на ТеннисОн - и у обоих игроков есть фото в профиле.
- Откуда: канал t.me/tennisonvideo - на сайт попадают не все посты, а только сматченные клипы
- Как матчим: в подписи ссылка tennison.ru/game/… или пара фамилий (счёт и турнир - по желанию)
- Без матча или без двух аватарок - ролик на сайте не публикуется
- Где смотреть: раздел «Хайлайты», блок под счётом на странице матча, лента в профиле игрока
- Открывается в Telegram; на сайте - карточка, аплодисменты и просмотры
Профиль
В сайдбаре профиля - заметная серия побед подряд (в том числе сквозь категории) и рекорд за карьеру с датами.
- 🔥 Текущая серия от 3 побед подряд по рейтинговым одиночным
- Строка «Лучшая · за всё время» - max подряд за карьеру, не только внутри одной категории
- Подпись «в разных категориях», если серия шла Hard → Masters и т.п.
- Если текущая = рекорд - пометка «· рекорд» на карточке
Удобнее разбирать форму и карьерную статистику прямо в профиле.
- Клик по кружку формы открывает страницу того матча
- Средний УС соперников в истории матчей и в карточке
- В статистике - всего матчей на платформе
- Min / max уровня силы за карьеру в блоке «Об игроке»
Матчи и рейтинг
На карточке матча - понятнее эмоции зрителей и партнёрские мячи турнира.
- Список «кто лайкнул» на странице матча
- Две реакции на матч для тарифа Москва Premium
- Полоска официальных мячей Tennis Technology Tour и Abrego (в т.ч. на сыгранных)
- История личных встреч (H2H) на карточке матча show_v2
Спарринг можно создать и согласовать без лишних шагов - с поисками города/корта и приглашением из чужого профиля.
- Страницы спаррингов на layout v2: фильтры и обезличенные отклики
- Invite / planned из профиля - без счёта до фактического матча
- Быстрое создание (create-fast) с поиском города и корта
Платформа
Отдельный раздел календаря выездов, фестивалей и финалов - не только турниры рейтинга.
- Страница /events/ - календарь особых событий
- Вход из меню «Ещё» и с витрин событий
Турниры
Отдельный режим результатов и состава для командного события Москва-Минск.
- Вкладки состава по категориям с УС и статистикой
- Live-табло последних результатов на общем счёте
- Фильтр «Завершённые», компактные результаты игроков
- Lite-счёт под фильтрами на странице «Результаты»
- Вход из «Ещё» и режим итога без счёта
Платформа
Разделы /news/ и /legend/ приведены к новому визуалу сайта.
- /news/ - шапка и лента в стиле v2
- /legend/ - светлый престижный дизайн, пункт в меню «Ещё»
Честные цены и карточки тарифов; вход и регистрация без лишней боли на телефоне.
- Подписки: карточки-кнопки, Silver «Популярный», актуальные цены
- Регистрация v2 - проще поля и категории по УМ
- Login v2: remember_me, сохранённый e-mail и autofill
Турниры
Новый формат кругового этапа с двумя параллельными плей-офф на 16 игроков.
- Группы + два плей-офф-потока
- Отображение на странице турнира и в сетке
Карточки в /tournament/schedule стали информативнее: «мои», однодневные, отсчёт до старта.
- Вёрстка v6 по улучшенному макету расписания
- Полоса «мои» турниры, бейджи однодневных, отсчёт
- Аватарки участников и сортировка по популярным районам
Рейтинг
В рейтинге и профиле видно, сколько турниров учтено; лимит зачёта считается по календарю сезона автоматически.
- Колонка / блок «в зачёте» в рейтинге P8
- Автолимит числа турниров в зачёт по календарю сезона
- Понятный прогресс «сколько уже учтено»
Матчи и рейтинг
На странице результатов - правый сайдбар с горячими сериями и неожиданными победами; отдельные страницы со всеми категориями и фильтрами.
- Сайдбар на /game/completed_list: «В огне» (серии побед), «Сенсации», «Люди Теннисон»
- Страница «В огне» (/game/on_fire): серии от 4 побед подряд, точки серии, дата последней победы
- При выборе категории - полный список серий от 5 побед подряд
- Страница «Сенсации» (/game/sensations): победы аутсайдеров по категориям
- Фильтры как на «Результатах»: категория, пол, сезон
- Вход только из сайдбара результатов - без пункта в главном меню
Игрок
Калькулятор NTRP переведён на v2: пошаговый опросник, понятное выделение ответа и результат в категориях Tennison.
- Страница /general_information/ntrp_calculate - шапка v2, короткое intro
- Один вопрос на экране, прогресс «Вопрос X из Y» и полоска
- Выбранный ответ подсвечивается; «Далее» скрыта - автопереход к следующему вопросу
- «Назад» на любом шаге; на последнем - «К результатам»
- Итог - уровень NTRP и категория Tennison (Hard, Tour и др.)
Платформа
Турниры
Проще подать заявку с активной подпиской и выбрать тариф - отдельные понятные экраны для региона и Москвы.
- Подписчик перед заявкой может дозаполнить профиль: телефон обязателен, фото и «О себе» - рекомендация
- Шаг join_prepare только для подписчиков; без подписки - оплата как раньше
- Оформление подписки: регион - один оффер Premium; Москва/СПб - карточки Basic / Silver / Premium / Парная
- На мобиле тарифы - вкладками; цена «1 ₽/мес» в одну строку
- Тот же UX на странице оплаты турнира (/tournament/show_payment)
Платформа
На странице корта - до трёх фото галереей, логотип клуба отдельным бейджем; на телефоне удобнее смотреть.
- Галерея - главный визуал; логотип не заменяет фото, а накладывается поверх
- На мобиле медиа-блок первым; карта и описание ниже
- В списке кортов (/court/) - логотип клуба; без логотипа - первое фото
- Swiper с точками-пагинацией на странице корта
Турниры
Если оба игрока не договорились о матче, в круговом турнире очки в таблице и правила расстановки мест приведены к одной логике - на сайте и в «Правилах турниров».
- §1: при равенстве очков выше участник с хотя бы одной обычной игрой (tie-break «реальные игры»)
- §1: жребий при обоюдном отказе - 0 турнирных очков обоим; не личная встреча и не разница сетов/геймов
- §3: в круговых за отсутствие инициативы у обоих - 0 очков обоим в турнирной таблице
- Отсечка - дата закрытия турнира (с 5 июля 2026), не дата создания
- Подробности - «Правила турниров» (/general_information/show_tournaments_rules)
Рейтинг
Страница /rating/my-goals помогает выбрать одну цель на сезон и вести к ней - без лишних блоков и сложных настроек.
- Три цели: по игрокам (дуэли), по рейтингу (место в таблице), «играю в удовольствие»
- Пошаговый мастер: выбрать цель → настроить → сохранить; карточка сворачивается после сохранения
- Цель по рейтингу - рубеж топ-1 / 3 / 8 / 15 / 20 или «без цели»; ведение по местам, без очков
- Цель по игрокам - пикер соперников снизу экрана; фото и инициалы как в рейтинге
- Красное предупреждение, если соперник давно не играл
- Вход с своего профиля и из меню «Мои цели»; другим игрокам ваши цели не показываются
Профиль
Если игроки добавили вас в цель «личные дуэли» на сезон, в профиле видно, сколько человек поставили вас целью. С Premium на своём профиле - список имён; в чужих профилях - только число.
- Блок и чип в шапке профиля: «N игроков выбрали вас» - текущий сезон, цель «личные дуэли»
- Состав дуэлей синхронизируется с сервером при сохранении на /rating/my-goals
- С Premium на своём профиле - кто именно добавил (имя, аватар, ссылка на профиль)
- Без Premium на своём - только счётчик и подсказка оформить Premium
- В чужом профиле - только «N выбрали в цели», без списка имён (даже с Premium)
- Другим игрокам ваши цели по-прежнему не показываются - только факт выбора вас соперником
Игроки с подпиской Basic, Silver или Premium могут указать, как с ними удобнее связаться - Telegram или MAX. Контакт видят только другие залогиненные игроки в карточке профиля.
- В настройках профиля - выбор Telegram (@ник) или MAX
- Telegram - кнопка со ссылкой t.me; MAX - бейдж без номера и ссылки
- Телефон и e-mail по-прежнему только для владельца профиля
- Без подписки - подсказка оформить Basic, Silver или Premium
- Кнопка связи рядом с «Спарринг» в чужом профиле
Свой и чужой профиль теперь устроены по-разному: в своём важнее матчи, в чужом - сначала узнать игрока.
- Свой профиль: «Мои матчи» сверху, аккордеоны («О себе», экипировка…) ниже
- Чужой профиль: сначала «Об игроке», аккордеон «О себе» раскрыт по умолчанию
- История игр и H2H - ниже блока об игроке
- На телефоне те же правила: таб «Об игроке» активен при просмотре соперника
В блоке «История матчей» на профиле - поиск по фамилии соперника в одной строке с табами, как на странице «Результаты».
- Поле поиска справа от табов «Все / Сыграно / Не сыграны» - белый pill с 🔍 и ✕
- Фильтр применяется по Enter - удобно набирать длинную фамилию
- ✕ и Esc сбрасывают поиск и возвращают полный список матчей
- Работает в своём и чужом профиле
Рейтинг
На странице /rating/ все фильтры собраны в одну строку - как в разделе «Турниры», с удобными выпадающими списками.
- Пол, поиск, город, категория и сезон - в одной компактной строке
- Выпадающие списки как в «Турниры»: город с поиском, категория и сезон
- На телефоне уже поле «Поиск…» - фильтр сезона не уезжает за край экрана
- Меньше пустого места над заголовком «Рейтинг»
- «Движение за месяц» на телефоне - под таблицей и достижениями
Страница /rating/ переведена на новый интерфейс - удобнее смотреть место, прогресс и цели сезона.
- Новая таблица: место, игрок, УС, игры за сезон - с подгрузкой строк
- Баннер авторизованного игрока: УС, место в категории, рубежи до топ-10 / топ-20
- Блок «Движение за месяц» - кто поднялся и опустился в текущей выборке (▲▼)
- Стрелки прогресса места у топ-3 и в списке - видно, растёте вы или нет
- Страница «Мои цели» (/rating/my-goals): место среди любителей, игры, соперники, календарь
- Поделиться топ-10 рейтинга - картинка для соцсетей
- Фильтры как в «Турниры»: пол, город, категория, сезон и поиск
Платформа
Обновили визуальный язык и интерфейс основных разделов сайта - удобнее на телефоне и понятнее для игрока.
- Турниры и расписание - новые карточки, фильтры, режим «Для меня»
- Матчи - карточка, редактирование, прогноз, календарь
- Результаты и главная - новые списки, «Мои матчи», свой город в ленте
- Профиль - просмотр, настройки, «Где и когда играет»
- Рейтинг, навигация, подписки - компактнее на мобильном
Матчи и рейтинг
Страница матча, редактирование и прогноз - в обновлённом интерфейсе.
- Новая карточка матча: дата по центру, личные встречи и прогноз в одной строке
- Статистика сезона, метка «Экспресс», подсказка при тех. поражении (РТ / Мед РТ)
- РТ и Мед РТ можно внести без корта и даты; кнопки «Назначить» и «Результат» одного размера
- «Добавить в календарь» для назначенного матча
- Страница прогноза - карточка с % победы, H2H и кнопкой «Поделиться»
- На телефоне город в шапке матча не обрезается
Турниры
Страница «Турниры» и расписание переведены на новый интерфейс - удобнее искать турнир и понять, куда записаться.
- Фильтры по городу, району, категории, формату и полу - с поиском города
- Режим «Для меня»: подбор по вашему району, категории и формату
- На карточке: сколько заявок, категория, статус; бейдж «Вы записаны»
- Если уже записаны - кнопка «Детали», а не «Заявиться»
- В сериях с открытым набором (1000, 500…) снова можно подать заявку при большом числе участников
- Компактная шапка страницы турнира; короче названия серий, без лишних номеров
Матчи и рейтинг
Страница «Результаты» и блок на главной - в обновлённом виде.
- Компактная шапка: табы и поиск в одну-две строки
- Клик по карточке открывает матч; имя игрока и турнир - отдельные ссылки
- Полное название турнира и категория на карточке
- Поиск на телефоне без сброса на каждую букву
- Лайк после нажатия зелёный; пагинация не «разъезжается»
- Меньше глюков при быстром скролле на iPhone
Профиль
Просмотр и редактирование профиля переведены на v2 - больше полезной информации о игроке.
- Новая страница редактирования профиля
- Блок «Где и когда играет»: районы, корты, heatmap по дням и времени
- Снова видны бренд ракетки и кроссовок
- В настройках - приоритетные районы (Север / Юг / Запад / Восток) и понятнее категория по уровню
- В истории игр - название турнира, серия и район; таблица удобнее на телефоне
- Достижения и H2H совпадают с главной; «Поражение» выделено отдельно от «Победы»
Платформа
Главная страница и рейтинг стали удобнее на телефоне и точнее для региональных игроков.
- Новые карточки «Мои матчи» на главной
- В «Результатах» на главной - матчи вашего города, а не московская подмешка
- Лента результатов: сначала 3, потом по 5 - без дублей
- На странице рейтинга фильтры в две строки на телефоне, поиск без кнопки «Найти»
- В поиске игроков - уровень силы по матчам, не из анкеты
- Нижнее меню на телефоне: «Рейтинг» вместо дубля «Главной»
Выложено на prod (17.06.2026): новые загрузки с iPhone (HEIC) и AVIF автоматически сохраняются как JPEG.
- После загрузки фото - автоконвертация HEIC, HEIF и AVIF в JPEG (все 4 слота профиля)
- EXIF-ориентация на сервере и crop 800×800 - аватарка отображается в браузере
- Регистрация, редактирование профиля и админка - без ручной конвертации
- Существующие HEIC на prod мигрированы; битые ссылки сброшены
Профиль
Вместо карточек «Мой папочка / Я папочка / Главный оппонент» - сворачиваемый блок «Соперники» с TOP-3 по личным встречам.
- Блок «Соперники» под «Популярные районы» - тот же стиль подписи и ⓘ
- «Развернуть / свернуть»; списки на всю ширину колонки профиля
- TOP-3 кого чаще обыгрывал (преимущество 4+ матча)
- TOP-3 кому чаще проигрывал (отставание 4+ матча)
- TOP-3 с кем чаще всего играл (5+ матчей) - клик ведёт на личные встречи
- Расчёт на лету из истории матчей (с 2020, без спарринга)
Рейтинг
В карточке игрока на /rating/ больше не смешиваем силу по матчам и NTRP из анкеты.
- Было: «Сила/Мастерство: 3.58 ⓘ / 3 ⓘ» - два числа и две подсказки
- Стало: одна строка «Уровень силы: 3.58 ⓘ» - расчёт по сыгранным матчам (strongRate)
- NTRP из профиля («мастерство» из анкеты) в карточке рейтинга не показываем
- Одинаково на десктопе и мобильной вёрстке карточки
Профиль
В статистике профиля показываем турнирную категорию по уровню мастерства, а не NTRP из анкеты.
- Было: «Мастерство: 3 ⓘ» - skillLevel.rating из анкеты при регистрации
- Стало: «Категория: Tour ⓘ» (и др.) - категория по УМ, как в турнирах и на главной
- По ⓘ - диапазон УС для категории и буферная зона (§7 регламента)
- «Уровень силы» по матчам и место в рейтинге города - без изменений
Платформа
Фото профиля с iPhone (HEIC/AVIF) больше не ломают отображение на сайте.
- HEIC с телефона не показывался в браузере - конвертация в JPEG (пример: Денис Жданов)
- Битая ссылка AVIF без файла на диске - сброс на инициалы (пример: Андрей Павлов на TEST)
- SQL-миграция и JPEG-ассет в docs/scripts для PROD и отката
Турниры
Умный подбор турниров для записи на главной авторизованного игрока.
- Всегда до 4 турниров по приоритетным слотам: крупные серии → 250 → экспресс, добивка серией 100
- Категория турниров - по УМ из профиля; турнир, куда игрок уже подал заявку, не показывается
- «Показать ещё» - остальные турниры на набор (категория УМ + «Без категории», без Tour и Hard)
- Окно дат как на расписании; фильтр по полу игрока
Удобнее находить актуальные турниры на /tournament/schedule.
- Текущий календарный месяц сверху и развёрнут - не нужно прокручивать прошедшие месяцы
- Остальные месяцы года свёрнуты, раскрываются по клику
- Блок «Старт нового сезона» выделен оранжевой подсветкой
Платформа
Сайт удобнее на телефонах и планшетах, меньше лишних отступов на турнирных страницах.
- Корректный viewport на iOS; бургер-меню с 990px (планшеты)
- Подвал без налезания пунктов меню; меньше пустого места снизу страницы
- Режим page-compact на расписании, рейтинге, roadmap и правилах - компактнее заголовки и фильтры
- Кнопки расписания и уведомления не вылезают за экран на узких телефонах
Публичный roadmap с голосованием за задачи и комментариями.
- Kanban: «Уже реализовано», «В работе», «Планируем»
- Голосование 👍 за задачи; комментарии к странице
- Ссылка Roadmap в подвале сайта
Исправления блоков на главной авторизованного игрока.
- «Результаты лиги»: исправлена пагинация «Показать ещё», 6 карточек на первой загрузке
- Читаемые заголовки и кнопки на светлом фоне
- «Последние действия игроков» - 5 записей вместо 10
Турниры
Пакет доработок июня 2026 - понятнее категории турниров, диапазоны силы игроков и актуальный сезон.
- Раздел «Турниры» - категория по УМ из профиля, а не по последним играм
- В списках турниров вместо порога NTRP - компактный диапазон УС: (УС:3.8-4.3)ⓘ по регламенту
- По ⓘ - подсказка про уровень силы, буферную зону и ссылка на §7 правил
- Календарь сезона «Осень 2026» и PDF на странице расписания
- В фильтрах рейтинга и расписания - только название категории (Hard, Tour…), без подписи УМ
- В регламенте обновлены диапазоны УС и буферы по всем категориям
При поиске по фамилии на странице рейтинга игроки с большим числом игр и очков в текущем сезоне показываются первыми.
Сравнение двух игроков: УС, рейтинг, личные встречи, общие соперники и прогноз.
К результатам можно поставить 👍 или 😢 - одна реакция на матч.
Метка «Сенсация» и прогноз на сыгранных матчах.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Список общих соперников и прогноз исхода на основе их результатов.
Матчи и рейтинг
Доводим сценарий назначения турнирного матча (корты, время, согласование). Спарринг-invite из профиля уже вынесен в отдельный релиз.
- Сделано рядом: спарринги v2 и приглашение из профиля
- В работе: удобнее организация именно турнирного матча
Платформа
Запись в турниры, результаты и уведомления о матчах в приложении.
Поиск свободных кортов по городу, времени и типу покрытия.
Турниры и матчи
Оцени 👍 - так мы понимаем, насколько эта задача важна для игроков.
Единый календарь стартов с удобной навигацией и фильтрами.
- просмотр турниров по месяцам и неделям
- фильтры по уровню и типу турнира
- быстрый переход к регистрации
- отображение загруженности сезона
Новые сценарии, правила и удобство записи в популярных форматах.
Игрок
Новая модель уровня с автокалибровкой по первым 6 соперникам.
Личный кабинет сезона: цели, прогресс и достижения игрока.
- цели на сезон
- отслеживание прогресса
- персональные рекомендации
- история достижений
Платформа
Единый формат комментариев на матчах, турнирах и страницах.
Подбор турниров и соперников по уровню, истории и активности.
Комментарии (2)
Войдите, чтобы оставить комментарий
спасибо что открыли планы, очень круто! по мне так не хватает только функциональности для парных игр. уверен, что будет востребовано
фанатею от тех, кто стремится делать свое дело хорошо
Список не является окончательным и регулярно дополняется на основе обратной связи игроков Tennison.

