Эволюция проекта: от хаоса к нормальной архитектуре

Полгода назад я сделал первую версию CloudRate — платформы для оценки музыки российских андерграунд-исполнителей с SoundCloud

Тогда это был мой первый большой React-проект, и выглядел он… как обычно выглядят первые большие проекты 😄

— весь код в одной куче — глобальные стили конфликтовали друг с другом — почти отсутствовала структура — JavaScript без типизации — поддерживать новые фичи становилось все тяжелее

В какой-то момент я понял, что развивать проект дальше сложнее, чем переписать его заново.

Так появился CloudRate v2.

Что изменил: • переписал фронтенд на TypeScript • перешел на Feature-Sliced Design • добавил JWT auth + refresh token flow • сделал админ-панель • переработал UI • вынес логику в нормальную архитектуру • настроил production deploy

Самое интересное — во время переписывания начал намного лучше понимать, зачем вообще нужны архитектурные подходы. Раньше FSD, разделение ответственности и масштабируемость казались “переусложнением”. Теперь без этого уже сложно представить большой проект.

Сейчас продолжаю развивать CloudRate дальше — впереди рекомендации, верификация артистов и еще куча идей, и конечное же, релиз проекта.

CloudRate (Github): https://github.com/velniok/cloudratev CloudRate (Live Demo): https://cloudratev2.vercel.app