коротко о
главном

Сам по себе Spotify представлять не нужно, а Spotify Clone является его клоном. Так как дизайн у Spotify меняется очень часто, то за основу был взят дизайн на 01.07.2025.

Может встать вопрос - а зачем вообще этот клон? Просто я очень люблю музыку Проект не преследует никаких коммерческих целей, разработан он лишь как Showcase, показать свои навыки

fun
fact

Изначально архитектура закладывалась под использование одних лишь Websockets дабы сделать поддержку воспоизведения с разных устройств, но в конце я осознал, что в Showcase приложении с одного тестового аккаунта смогут подключиться сразу несколько человек и будет баг беда. Поэтому пришлось отказаться от этой идеи и переписать всё на REST.

под
капотом

Три раздельных сервиса под свои задачи - Frontend,Backend, Media Service

Frontend - React + Vite,Mongoose. Авторизация через JWT в httpOnly-куках.

Backend - NestJS, Mongoose. Состояние воспроизводимого трека/альбома пользователя живет на сервере, а не на клиенте.

Media-сервис - отдельный NestJS-микросервис для раздачи изображений и аудио. Картинки на лету обрабатываются через Sharp - ресайз, сжатие, конвертация в JPEG. Аудиофайлы стримятся с поддержкой Range-запросов

Spotify Clone