Ссылка на проектПроект задумывался как блог с интеграцией с CKEditor 5 - WYSIWYG редактором. Имеет базовый функционал блога - можно создавать статьи в редакторе, публиковать их и просматривать уже опубликованные.
В итоге функционал разросся до собственной файловой системы с проверкой изображений. Пользователь не может загрузить файл, который замаскирован под png, а на самом деле является вредоносным js.
Были эксперименты со сложным рендерингом шаблонов. Нужно было воссоздать шаблон masonry - когда все посты выстраиваются плиткой разных размеров. Делать это все нужно динамически, так что пришлось попотеть.
Кроме того, было задействовано много тестирования - интеграционного и юнит-тестирования. Проект покрыт тестами на 90%, некоторые участки кода покрыты несколькими видами тестов. Также в проекте была настроена серьезная связка CI/CD - Github Actions, в который были интегрированы линтеры и менеджеры зависимостей.