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