MusicApp
C9Music — Стриминговая музыкальная платформа
Full-Stack Разработчик & UI/UX Дизайнер

Обзор
Full-stack приложение для стриминга музыки — бэкенд на Laravel и SPA на Vue 3 в стиле Apple Music. Связывает непрерывный глобальный плеер с синхронизированными текстами в реальном времени и полноценными кабинетами артиста и админа.
Задача
UX стриминга держится на непрерывном звуке и эффективной доставке — сырые загрузки тяжёлые и дорогие в раздаче, а воспроизведение должно переживать навигацию и ощущаться нативно на мобильных.
Также нужны были реальные инструменты для обеих сторон: артисты загружают релизы, админы управляют пользователями и контентом.
Решение
Бэкенд на Laravel перекодирует каждую загрузку (MP3/WAV/OGG) в Opus через FFmpeg ради экономии трафика и извлекает длительность через ffprobe. SPA на Vue 3 + Pinia держит постоянный глобальный плеер — очередь, шаффл, повтор — переживающий смену маршрутов, с мини-баром и полноэкранным мобильным режимом.
Тексты поддерживают и обычный формат, и синхронизированный .lrc с плавной автопрокруткой и подсветкой текущей строки; Media Session API даёт управление с экрана блокировки и наушников; ролевые кабинеты дают артистам управление релизами, а админам — управление пользователями и системные логи.
Ключевые возможности
Постоянный глобальный плеер
Очередь, шаффл и повтор на Pinia, не прерывающиеся при навигации, плюс управление через Media Session.
Синхронные тексты в реальном времени
Синхронизированный .lrc с автопрокруткой и подсветкой строк; запасной обычный текст.
Конвейер транскодинга в Opus
FFmpeg конвертирует загрузки в Opus ради экономии трафика; ffprobe читает длительность.
Кабинеты артиста и админа
Ролевые зоны: артисты публикуют релизы, админы управляют пользователями и логами.