ТЕХНИЧЕСКОЕ ЗАДАНИЕ (ТЗ)

Проект: ORBITA PROJECT

Полная версия

1. Общая информация о платформе

Orbitaproject — это музыкальная, медийная и социальная онлайн-платформа, включающая:

  • релизы музыки
  • подкасты
  • радио
  • артист-базу
  • блог / медиараздел
  • внутреннюю систему общения пользователей
  • уведомления
  • магазин
  • промо-системы
  • VIP-контент
  • внутренний email-рассылщик

Цель модернизации — создать современный, быстрый, стабильный и масштабируемый сервис с улучшенным UX, монетизацией, премиальным продвижением и персональными профилями артистов.


2. Регистрация и Авторизация

Требуется реализовать:

  • Вход через соцсети:
    • VK
    • Google
    • Yandex
  • Возможность выбора соцсети на экране логина.
  • Привязка соцсетей к существующему аккаунту.
  • Корректная работа при отсутствии email в соцсети — запрос email у пользователя.
  • Отображение привязанных соцсетей в профиле.
  • Единая учетная запись (SSO) для сайта и магазина.

Технически:

  • OAuth 2 / OpenID Connect
  • Таблица:
    social_accounts(user_id, provider, provider_user_id)

3. Роли, бейджи и права доступа

Роли:

  • User (Listener)
  • Artist
  • Verified Artist
  • Premium
  • Partner
  • Moderator
  • Admin

Бейджи (значки):

  • Artist
  • Verified
  • Premium
  • Partner
  • Moderator

Права:

  • Artist — управление профилем артиста, загрузка релизов.
  • Verified Artist — приоритет в выдаче, статус.
  • Premium — доступ к VIP-контенту, аналитика, отсутствие рекламы.
  • Partner — дополнительные профессиональные инструменты.
  • Moderator — управление контентом и заявками.
  • Admin — полный доступ.

4. Профили пользователей

Новый дизайн профиля:

  • Обложка (cover)
  • Аватар
  • Имя + бейджи
  • Социальные сети: VK, Instagram, Facebook, Telegram, YouTube
  • Разделы:
    • Релизы
    • Подкасты
    • Радио
    • Ивенты
    • Featured Releases
    • О себе
    • Для Premium — аналитика

Статус артистов:

  • Artist
  • Verified Artist
  • Premium Artist
  • Partner Artist

Требования:

  • Возможность кастомизации профиля.
  • Адаптивная мобильная версия.
  • Современная визуальная структура (в стиле spotify/beatport).

Варианты (3 дизайна):

  1. Минималистичный — чистый профиль артиста.
  2. Премиум — расширенные блоки, брендинг, статистика.
  3. Соц-сетевой — фокус на плейлистах и активности.

5. Связка релизов и артистов

  • Реализовать связь «многие ко многим»
  • В профиле артиста: отображение всех релизов
  • На странице релиза: список артистов + ссылки на профили

6. Плеер (новый, стабильный)

Требования:

  • Не перезагружается при переходах
  • Работает в фоне
  • Сохраняет состояние при обновлении страниц
  • Mini-player
  • Полноценный player-bar
  • Не изменять структуру существующего спектра

Функционал:

  • Play / Pause
  • Next / Previous
  • Volume
  • Queue
  • Progress bar
  • Visualizer (как сейчас)

Вдохновение:

  • sao.fm mini-window player

7. Темы оформления

Нужно реализовать:

  • Тёмную тему
  • Светлую тему
  • 1–2 фирменных цвета

Требования:

  • На CSS Variables
  • Переключение в UI
  • Запоминание в профиле и localStorage
  • Плеер адаптируется под тему
  • Поддержка адаптива

8. Блог (новости)

На странице новости:

  • Боковая лента «Похожие посты»
  • Блок «Поделиться»:
    • VK
    • Telegram
    • Facebook
    • X(Twitter)

На главной блога:

  • Улучшенная сетка
  • Фильтры по категориям
  • Улучшенные карточки

9. Интеграция магазина

Требуется:

  • SSO между сайтом и магазином
  • Единый аккаунт
  • Кнопка: «Профиль → Магазин»
  • Авторизация без повторного входа

10. Верификация артиста

Форма должна включать:

  • Stage Name
  • Real Name
  • Соцсети
  • Press-kit
  • Площадки
  • Паспорт (опционально)

После отправки:

  • Заявка → админ-панель
  • Модератор проверяет
  • Присваивается статус Verified

11. Внутренний Email-рассылщик

Функционал:

  • Панель создания и редактирования писем
  • Шаблоны
  • Вставка:
    • релизов
    • новостей
    • ивентов
    • плейлистов
  • Сегментация:
    • артисты
    • verified
    • premium
    • слушатели
    • жанры
    • подписчики плейлистов
  • Автоматические письма:
    • приветствие
    • релизы
    • чарты
    • premium-напоминание

Аналитика:

  • Открытия
  • Клики
  • CTR
  • Переходы на релизы

12. Платный плейлист PREMIERE

Механика:

  • Артист покупает место в плейлисте
  • Тарифы:
    • 24 часа
    • неделя
    • месяц

Попадание в:

  • PREMIERE
  • Promoted Releases на главной
  • Внутреннюю email-рассылку (если галочка включена)
  • Рекомендации

Статистика:

  • прослушивания
  • переходы
  • эффективность размещения

Система:

  • Автоматическое снятие по истечении срока

13. VIP-контент

Уровни доступа:

  • Premium Only
  • Artist Only
  • Verified Only
  • Partner Only
  • Internal Team
  • Public

Ограничивать можно:

  • релизы
  • статьи
  • подкасты
  • страницы
  • ивенты
  • плейлисты

Если у пользователя нет доступа:

  • Показывать информационный экран
  • Предложение купить Premium или стать Verified

14. Вдохновение и технологии от sao.fm

Перенять:

  • чистый минималистичный UI
  • мини-плеер
  • цветовые схемы
  • современные карточки
  • UX структурных страниц (артисты/radio)

15. Исправление ошибок и оптимизация

  • Исправить ошибки JS
  • Убрать 404
  • Улучшить адаптив
  • Почистить устаревший код
  • Исправить UI-баги на мобильных
  • Проверить производительность плеера

16. Критерии успешной сдачи

  • Плеер работает стабильно
  • Соцлогины работают
  • Профили обновлены
  • Роли и бейджи функционируют
  • PREMIERE работает
  • VIP-контент работает
  • Магазин интегрирован
  • Блог улучшен
  • Все ошибки исправлены
  • SEO корректно настроено

17. Итоговые материалы от исполнителя

  • UI-макеты профилей
  • Иконки бейджей
  • Макеты страниц блога
  • Исходники кода в Git
  • Документация API
  • Инструкция по установке