Skip to content

Comprehensive Roadmap: Scrobbling Pipeline, Analytics, UI/UX & Social Features #84

Description

@Peaostrel

[Enhancement / Feature Request] Comprehensive Roadmap: Scrobbling Pipeline, Analytics, UI/UX & Social Features

📋 Overview & Motivation

Данный Issue объединяет предложения по дальнейшему развитию платформы VEINMusic для повышения надежности скробблинга, улучшения пользовательского опыта (UI/UX), расширения аналитических возможностей и масштабируемости бэкенда.


1. 🎵 Scrobbling Pipeline & Metadata Normalization

  • Калибровка правила скробблинга (Rule of 50% / 4 min):
    • Привести порог учета трека к стандарту: прослушивание $\ge 50%$ длительности либо $\ge 4$ минут (что наступит раньше), чтобы избежать отсечения треков с длинным аутро.
  • Интеграция с MusicBrainz ID (MBID):
    • Подключение открытой базы MusicBrainz для автоматического получения канонических идентификаторов артистов/релизов и устранения дублей (кириллица/латиница, псевдонимы).
  • Редактирование скробблов «на лету» (Inline Metadata Editing):
    • Добавить возможность корректировать теги текущего или последнего трека прямо в попапе расширения / веб-интерфейсе до фиксации в базе данных.
  • Надежность очередей (Exponential Backoff):
    • Реализовать пакетную отправку (batching) и экспоненциальную задержку повторных попыток для офлайн-буфера расширения и десктоп-клиента.

2. 📊 Analytics, Metrics & Digests

  • Периодические музыкальные дайджесты («Wrapped» / «Pulse»):
    • Генерация еженедельных, ежемесячных и годовых отчетов с ключевыми метриками: суммарное время прослушивания (часы/минуты), топ новых открытий, «забытые» треки.
  • Карточки для социальных сетей (OpenGraph / Image Export):
    • Генерация динамических растровых изображений (PNG/WebP) с оформлением под текущий трек или недельный топ для публикации в Telegram/VK/X.
  • Временные паттерны (Listening Clock & Activity Heatmap):
    • Календарная сетка активности (GitHub-style) за год и круговая диаграмма распределения прослушиваний по 24 часам суток.

3. 🎨 UI / UX & Frontend Enhancements (Next.js / Tailwind CSS / Framer Motion)

  • Ambient Mesh Background:
    • Динамическое извлечение палитры из обложки альбома и плавный градиентный фон карточки Now Playing / шапки профиля.
  • Микроанимации воспроизведения:
    • Живой интерполированный прогресс-бар трека и легкие визуальные индикаторы (анимированный эквалайзер / вращающийся винил).
  • Переключатель плотности списков (Density Toggle):
    • Режим компактной таблицы (Compact View) для быстрой прокрутки истории и режим сетки (Cover Grid) с акцентом на артворки.
  • Hover Quick Actions:
    • Быстрые действия при наведении на строку трека: «Добавить в любимое», «Редактировать теги», «Удалить», «Открыть в стриминге» (Odesli / Songlink).
  • Конструктор виджетов (Widget Customizer):
    • Визуальный редактор в вебе для интерактивной настройки тем, скруглений и параметров SVG-виджетов для GitHub README.
  • Мобильная адаптивность (Bottom Navigation & Mini-Player Drawer):
    • Нижняя навигационная панель и выдвижной мини-плеер со свайп-жестами для мобильных устройств.

4. 👥 Social Features & Listening Rooms

  • Расширенный экран Taste Match:
    • Наглядное side-by-side сравнение двух профилей: процент совместимости, пересечения по жанрам и списки общих/уникальных артистов.
  • Интерактив в комнатах совместного прослушивания (Listening Rooms):
    • Real-time всплывающие реакции (Floating Emojis) через WebSocket, голосование за пропуск трека (Vote to skip) и мульти-линки на стриминговые платформы.

5. ⚙️ Backend, Scalability & Compatibility

  • Совместимость с Last.fm Scrobble API 2.0:
    • Эмуляция эндпоинта /2.0/?method=track.scrobble для нативной поддержки сторонних мобильных и десктопных скробблеров (Pano Scrobbler, foobar2000, Cider и др.).
  • Материализованные представления (Materialized Views) для чартов:
    • Предварительный расчет All-Time и Yearly топов через периодические агрегации в PostgreSQL для снижения нагрузки на БД.
  • Импорт и экспорт истории:
    • Инструменты импорта данных из архивов Last.fm / Spotify / ListenBrainz (CSV/JSON) и функция полного экспорта профиля.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions