Сам по себе Spotify представлять не нужно, а Spotify Clone является его клоном. Так как дизайн у Spotify меняется очень часто, то за основу был взят дизайн на 01.07.2025.
Может встать вопрос - а зачем вообще этот клон? Просто я очень люблю музыку Проект не преследует никаких коммерческих целей, разработан он лишь как Showcase, показать свои навыки
Изначально архитектура закладывалась под использование одних лишь Websockets дабы сделать поддержку воспоизведения с разных устройств, но в конце я осознал, что в Showcase приложении с одного тестового аккаунта смогут подключиться сразу несколько человек и будет баг беда. Поэтому пришлось отказаться от этой идеи и переписать всё на REST.
Три раздельных сервиса под свои задачи - Frontend,Backend, Media Service
Frontend - React + Vite,Mongoose. Авторизация через JWT в httpOnly-куках.
Backend - NestJS, Mongoose. Состояние воспроизводимого трека/альбома пользователя живет на сервере, а не на клиенте.
Media-сервис - отдельный NestJS-микросервис для раздачи изображений и аудио. Картинки на лету обрабатываются через Sharp - ресайз, сжатие, конвертация в JPEG. Аудиофайлы стримятся с поддержкой Range-запросов