Контент в разных инструментах
Статьи, изображения, переводы, меню и настройки живут отдельно, создавая ошибки при переносе.
Объединили Article, Translation, Category, Media, Menu и Settings в общей модели и одном рабочем интерфейсе.
Собственная редакционная платформа: импорт материалов, три языковые версии, визуальный конструктор, медиатека и быстрый SEO-подготовленный портал.

Контент поступает из внешней платформы, проходит редакторскую проверку, переводится на русский, казахский и английский, получает медиа и дату выпуска, а затем должен быстро появиться на сайте. Ручные переносы, несвязанные переводы и зависимость от разработчика замедляли этот цикл. Мы разделили продукт на API, редакционную панель и самостоятельный публичный frontend.
Статьи, изображения, переводы, меню и настройки живут отдельно, создавая ошибки при переносе.
Объединили Article, Translation, Category, Media, Menu и Settings в общей модели и одном рабочем интерфейсе.
Редактор не видит, какой перевод готов, опубликован или запланирован.
Сделали RU/KZ/EN самостоятельными сущностями со статусом, датой, SEO-полями и контролем готовности.
Изменение главной, рубрики или порядка блоков требует правок кода.
Создали drag-and-drop конструктор из 20 типов блоков с черновиком, предпросмотром и отдельной публикацией макета.
Материалы из Insider приходится переносить, раскладывать по рубрикам и проверять вручную.
Добавили полную и частичную синхронизацию, расписание, mapping рубрик и правила обязательных языков.
Архитектура подтверждена предоставленной документацией, структурой приложения и реальными экранами продукта.
Список статей показывает статусы, рубрики, даты и языковые версии. Синхронизация выносит технические правила в понятные настройки, а визуальный конструктор позволяет собирать главную, рубрику и статью без обращения к разработчику. После публикации backend инвалидирует только связанный кеш — сайт обновляется без полной пересборки.


Статус, дата, автор, тип, рубрика, медиа и показатели
RU/KZ/EN, собственный slug, SEO и время публикации
Секции, колонки, блоки, порядок, черновик и версия
MIME, размер, вес, alt, подпись и Cloudinary URL
Источник, результат, ошибки и время синхронизации
Роли, отзываемые сессии и история изменений
Tiptap для текста, медиа и структурированных материалов
dnd-kit для секций, колонок и 20 типов блоков
Отложенный выпуск и отдельные статусы переводов
Просмотры, закладки, комментарии и реакции возвращаются в CMS
Публичный frontend формирует динамические metadata, canonical, языковые alternate-ссылки, Article и Breadcrumb JSON-LD, стандартный sitemap, Google News sitemap и robots.txt. SSR/ISR дают поисковику готовый HTML, а точечная revalidation обновляет только изменённые материалы. Это превращает SEO из ручной задачи редактора в часть публикационного конвейера.
Скриншоты админ-панели используют демонстрационные данные, но сняты из рабочего интерфейса. Масштаб указан по текущему репозиторию и не подменяется метриками посещаемости.
Публичный сайт сохраняет рубрики, читаемую типографику, иллюстрации и переходы между материалами на ширине 375 px. Контент остаётся серверно отрендеренным, а next-intl удерживает структуру при переключении RU/KZ/EN.

API покрывает авторизацию, контент, медиа, синхронизацию, layout и public data.
Три TypeScript-приложения разделены по ответственности.
JWT, bcrypt, Zod, Helmet, CORS allowlist и отдельные rate limits.
Черновик, предпросмотр, расписание, публикация и точечная инвалидация кеша.
Docker, Prisma migrations, health-check, Winston и обработка ошибок.
REST API готов для мобильного приложения, бота или дополнительной витрины.






Коммерческая ценность — меньше ручных переносов, ниже зависимость от разработчика и единый контроль выпуска на трёх языках.
Разберём аудитории, контент, интеграции и поисковый спрос. Спроектируем структуру и технический контур до начала дизайна.
Обсудить проект ↗Вернуться к кейсам