MusicApp

C9Music — Стриминговая музыкальная платформа

Full-Stack Разработчик & UI/UX Дизайнер

C9Music — Стриминговая музыкальная платформа

Обзор

Full-stack приложение для стриминга музыки — бэкенд на Laravel и SPA на Vue 3 в стиле Apple Music. Связывает непрерывный глобальный плеер с синхронизированными текстами в реальном времени и полноценными кабинетами артиста и админа.

Задача

UX стриминга держится на непрерывном звуке и эффективной доставке — сырые загрузки тяжёлые и дорогие в раздаче, а воспроизведение должно переживать навигацию и ощущаться нативно на мобильных.

Также нужны были реальные инструменты для обеих сторон: артисты загружают релизы, админы управляют пользователями и контентом.

Решение

Бэкенд на Laravel перекодирует каждую загрузку (MP3/WAV/OGG) в Opus через FFmpeg ради экономии трафика и извлекает длительность через ffprobe. SPA на Vue 3 + Pinia держит постоянный глобальный плеер — очередь, шаффл, повтор — переживающий смену маршрутов, с мини-баром и полноэкранным мобильным режимом.

Тексты поддерживают и обычный формат, и синхронизированный .lrc с плавной автопрокруткой и подсветкой текущей строки; Media Session API даёт управление с экрана блокировки и наушников; ролевые кабинеты дают артистам управление релизами, а админам — управление пользователями и системные логи.

Ключевые возможности

01

Постоянный глобальный плеер

Очередь, шаффл и повтор на Pinia, не прерывающиеся при навигации, плюс управление через Media Session.

02

Синхронные тексты в реальном времени

Синхронизированный .lrc с автопрокруткой и подсветкой строк; запасной обычный текст.

03

Конвейер транскодинга в Opus

FFmpeg конвертирует загрузки в Opus ради экономии трафика; ffprobe читает длительность.

04

Кабинеты артиста и админа

Ролевые зоны: артисты публикуют релизы, админы управляют пользователями и логами.

Коротко

3
Роли (User / Artist / Admin)
Opus
Кодек стриминга
.lrc
Синхро-тексты