Петр Сальников spbcod Сбер ID
Fullstack-разработчик (Symfony / Битрикс) с опытом DevOps.
Рейтинг
332
№ 3 276 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Санкт-Петербург
Опыт работы
28 лет
На сайте с
2023 года
Юридический статус
ИП

Разработка системы афиш спортивных событий (аналог Яндекс.Афиши) на OpenCart

Описание

Заказчику требовалось создать на сайте полноценную систему афиш спортивных событий, аналогичную Яндекс.Афише, но с фокусом на спортивную тематику. Необходимо было:
- агрегировать все спортивные мероприятия (соревнования, турниры, мастер-классы, открытые тренировки),
- обеспечить удобный поиск и фильтрацию по видам спорта, датам, местам проведения,
- сделать персонализированные рекомендации,
- обновлять информацию.

Решение

Спроектировал сложную реляционную структуру для хранения событий:

events Основная информация о событии: название, описание, дата/время, статус
event_venues Площадки (спорткомплексы, стадионы, залы) с адресами, координатами, схемами
event_categories Виды спорта (привязка к существующему каталогу из 234 видов)
event_organizers Организаторы (спортшколы, клубы, федерации — привязка к каталогу организаций)
event_tickets Цены, типы билетов, наличие мест
event_schedule Расписание (для многодневных событий или нескольких сеансов)
event_tags Метки для умных подборок («для детей», «бесплатно», «выходные»)

2. Функционал "как в Яндекс.Афише"
Календарь событий
- Отображение событий в виде ленты, календаря, сетки
Разделы: «Сегодня», «На этой неделе», «В этом месяце», «Скоро»

Фильтры:
Вид спорта (234 категории)
Дата (диапазон, конкретный день)
Район / метро (геопривязка)
Тип события (турнир, мастер-класс, сборы, открытая тренировка)
Цена (бесплатно / платно / диапазон)
Возрастная категория
Сортировка: по дате, по популярности, по цене

Карточка события
На странице события выводится:
Название, дата, время, место проведения (с картой)
Описание, программа, участники
Цены

Блок «Организатор» (ссылка на карточку спортшколы/клуба)

3. Техническая реализация
Backend
- Кастомные контроллеры OpenCart для работы с событиями (по аналогии с модулями feed )
- Сложные SQL-запросы с оптимизацией (индексы, кэширование)
- Событийная модель (Events System) OpenCart для автоматизации :
- При создании события — уведомления подписчикам
- При приближении даты — напоминания

- Кэширование популярных запросов (Redis / файловый кэш)
- Оптимизация для высоких нагрузок

4. Автоматизация и наполнение
- Как в Яндекс.Афише, данные собираются из разных источников :
- Ручное добавление через админку (для организаторов)
- Парсинг сайтов спортивных федераций и школ
- API городских порталов и календарей
- Социальные сети (автоматический импорт анонсов из VK, Telegram)

5. SEO и продвижение
- Микроразметка Schema.org для событий (тип Event) — чтобы поисковики показывали даты и места прямо в выдаче
- Отдельный Sitemap для событий

Результат

Все турниры, соревнования, мастер-классы в одном месте. Пользователи находят события по датам, видам спорта, району, цене. Персонализированные подборки повышают вовлеченность.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Разработка административной панели управления YML-фидом для Яндекс.Маркета в 1С-Битрикс
Разработка административной панели управления YML-фидом для Яндекс.Маркета в 1С-Битрикс
54
Веб-разработка и IT Вывод стоимости доставки по всем транспортным компаниям в админке Битрикс на странице заказа
Вывод стоимости доставки по всем транспортным компаниям в админке Битрикс на странице заказа
54
Веб-разработка и IT Компонент проверки артикулов товаров для 1С-Битрикс (поиск ошибок, дублей, несоответствий)
Компонент проверки артикулов товаров для 1С-Битрикс (поиск ошибок, дублей, несоответствий)
55
Веб-разработка и IT Разработка REST API сервиса для работы с почтовыми индексами различных стран мира на Symfony
Разработка REST API сервиса для работы с почтовыми индексами различных стран мира на Symfony
51