Нужно подключить фронт к CMS Strapi
Интеграция Next.js фронта с Strapi CMS + мультиязычность + редактирование из админки
1. Цель
Подключить существующий фронтенд на Next.js к Strapi CMS так, чтобы:
контент сайта редактировался из админ-панели Strapi;
была мультиязычность (минимум 2 локали);
существующие “кабинеты/внутренние страницы” (личные разделы) продолжали работать и корректно интегрировались с контентом CMS;
контентные изменения из Strapi отображались на сайте без ручных перезаливов (через ISR/webhook).
2. Исходные данные (что уже есть)
Готовый фронт на Next.js (страницы, кабинеты, UI, роутинг уже реализованы).
Требуется поднять/настроить Strapi и связать его с фронтом.
Стек: Next.js + Strapi + база данных (PostgreSQL предпочтительно).
3. Область работ фрилансера (Scope)
3.1. Strapi (CMS)
Фрилансер должен:
Развернуть Strapi (локально и/или на сервере по договорённости).
Настроить БД (PostgreSQL).
Включить и настроить i18n (Internationalization):
локали минимум:
en-CAиfr-CA(или те, что указаны заказчиком).
Создать контент-модели (см. раздел 4).
Настроить роли и права доступа:
Public (публичные API на чтение нужных сущностей);
Authenticated (если будет нужно для внутренних страниц);
Admin (редактирование).
Подготовить демо-контент для проверки (минимум: Global + Home + 1–2 страницы + 2–3 блока).
3.2. Next.js (Frontend)
Фрилансер должен:
Подключить Next.js к Strapi через единый слой API (см. раздел 5).
Реализовать получение и отображение:
Global данных (header/footer/меню/общие тексты);
страниц по slug;
динамических секций (Dynamic Zone) с рендером компонентов на фронте.
Реализовать мультиязычный роутинг и запросы с параметром
locale.Реализовать механизм обновления контента без деплоя:
ISR revalidation и/или Webhook из Strapi в Next.js endpoint.
Не ломать существующие кабинеты/внутренние страницы:
кабинеты остаются в текущей архитектуре;
при необходимости — подмена отдельных текстов/SEO/меню через CMS.
4. Контент-модель Strapi (минимально обязательная)
Все сущности должны поддерживать i18n, где это логично.
4.1 Single Types
A) Global
siteName(text)headerMenu(repeatable: title, url)footerMenu(repeatable: title, url)contacts(phone/email/address)socialLinks(repeatable: type, url)cta(title, buttonText, buttonUrl)defaultSeo(см. ниже)
B) SEO Defaults
(можно частью Global)
metaTitlemetaDescriptionogImagenoindex/nofollow(boolean)
4.2 Collection Types
A) Page
title(text)slug(UID)sections(Dynamic Zone — список компонентов)seo(component: metaTitle/metaDescription/ogImage/noindex)publishedAt
B) (Опционально, если нужно в рамках этого этапа) Product / Brand / Category
Если каталог уже есть на фронте из других источников — на этом этапе допускается не внедрять.
Если внедряется:
Product:
sku,slug,title,description,images,downloads,brand,category,specs,seo.
4.3 Компоненты для Dynamic Zone (обязательный минимум)
hero:title, subtitle, image, buttonText, buttonUrl
richText:html/markdown rich text
imageText:image, title, text, layoutLeftRight (enum)
featuresGrid:items (title, text, icon(optional))
accordion:items (question, answer)
Фрилансер должен реализовать рендер этих компонентов на фронте 1:1 по структуре.
5. Требования к интеграции Next.js ↔ Strapi
5.1 API слой
Создать структуру в Next.js:
lib/strapi/strapiClient.(ts|js)— единый fetch клиентlib/strapi/queries/*— функции запросов (getGlobal, getPageBySlug, etc.)lib/strapi/mappers/*— преобразование ответов Strapi к типам фронта (чтобы компоненты не зависели от raw-JSON)
Обязательные требования:
централизованная обработка ошибок/таймаутов;
возможность подключить токен (если требуется приватный доступ);
логирование ошибок в консоль (dev) + возврат fallback (если согласовано заказчиком).
5.2 Мультиязычность
Роутинг:
/{locale}/...Запросы в Strapi должны всегда включать
locale.Fallback: если перевод отсутствует — вернуть контент из default locale (или показать 404 — по согласованию).
5.3 Производительность
Для публичных страниц использовать SSG/ISR (предпочтительно), либо SSR там, где необходимо.
Добавить revalidation:
ISR interval (например 60–300 сек) и/или
webhook из Strapi для мгновенного обновления.
6. Webhook / Revalidate (обязательная часть)
В Strapi настроить webhook на события:
create/update/publish/unpublish для Page/Global (и других сущностей, если внедряются).
На Next.js создать endpoint:
проверка секретного токена (shared secret)
запуск revalidate конкретного пути/тегов
Результат: контент меняется в админке → сайт обновляется без ручных действий.
7. Безопасность (минимальные требования)
Все секреты (Strapi token, webhook secret) — только в
.env, без коммита в репозиторий.Ограничить Public permissions в Strapi только на необходимые чтения.
Админ-панель Strapi:
изменить дефолтный URL (опционально),
включить базовые меры защиты (CORS, rate limit при наличии middleware).
8. Требования к качеству кода
TypeScript предпочтительно.
Код не должен “размазывать” Strapi логику по компонентам; все запросы через
lib/strapi/*.Переиспользуемые компоненты dynamic zone должны быть расширяемыми (легко добавить новый блок).
-
7 дней26 019 UAH
3160 23 1 3 7 дней26 019 UAHЗдравствуй, Дмитрий! Видя вашу задачу с интеграцией Next.js и Strapi с мультиязычностью, я понимаю, как важно обеспечить гибкость и автоматизацию контентных изменений.
Мой опыт в проектировании и разработке систем позволяет мне легко настроить ISR и Webhook для мгновенного обновления без деплоя, обеспечив вашему бизнесу оперативность. Также я разрабатывал системные решения с акцентом на масштабируемость и безупречную интеграцию API.
Давайте вместе превратим сложные задачи в простые решения, где ваш сайт будет работать как часы.
-
10 дней28 621 UAH
364 4 0 10 дней28 621 UAHЗдравствуйте!
Заинтересовало ваше предложение по интеграции Next.js фронта
Опыт 6+ лет с Next.js + Strapi (включая RLS, multi-locale, ISR/webhook, Dynamic Zones), делаю чистый модульный код с централизованным API-слоем
Пишите обсудим детали!
-
1 день5204 UAH
3912 6 0 1 день5204 UAHДобрый день! Изучив документацию к проекту, меня заинтересовала возможность сотрудничества.
Могу предложить работать по этапно:
(уже развернул то что описано ниже) обращайтесь покажу
1. Я разверну Strapi (можно на тестовом сервисе для наглядности)
2. PostgreSQL так же.
3. Подключу i18n настрою 2 локализации
4. Настрою права доступа к соответствующим ролям.
5. сделаю демоконтент.
6. Подготовлю Global api, туда зайдет и SEO глобальный
… 7. Подготовлю Page api
Все это вы посмотрите и мы договоримся о следующем этапе что разрабатываем.
Это даем Вам возможность увидеть результат и решить какой этап разработки на тот момент будет для вас приоритетнее, на него и переключимся.
Если подходит я готов сделать эту часть, показать - если все подходит, жду оплату за нее, следующий и следующий этап. Если нет, то вы ничего не должны
По оплате 15$ в час. Интересует долгосрочное сотрудничество.
-
15 дней46 834 UAH
13013 67 0 15 дней46 834 UAHЗдравствуйте! Выполню вашу задачу быстро и качественно.
Мое портфолио: https://freelancehunt.com/ua/freelancer/romas6ka.html#portfolio
Пишите, начну сегодня работать. Буду рад сотрудничеству с Вами!
-
25 дней78 057 UAH
307 25 дней78 057 UAHПривет. Я четко понимаю, что основная цель заключается в том, чтобы подключить существующий фронтенд Next.js к Strapi CMS, чтобы контент стал полностью управляемым из административной панели, с чистой многоязычной поддержкой и без помех для ваших текущих панелей инструментов и внутренней логики. Я бы внедрил Strapi с надлежащим i18n, структурированными моделями контента, ролями и демонстрационными данными, а затем создал бы чистый интеграционный слой Next.js (клиент, запросы, мапперы), чтобы компоненты фронтенда оставались отделенными от сырых ответов CMS. Для производительности и актуальности контента я буду использовать SSG/ISR с безопасными вебхуками от Strapi для мгновенной повторной проверки, гарантируя, что обновления контента будут отображаться без повторного развертывания. Этот подход сосредоточен на удобстве обслуживания, масштабируемости и удобстве редактирования, сохраняя при этом стабильность и готовность существующей архитектуры фронтенда к производству.
-
20 дней46 834 UAH
3025 37 0 1 20 дней46 834 UAHЗдравствуйте. Разверну и подключу Strapi к вашему проекту. Опалата скорее будет по часовая. Пришлите мне ваш макет дизайн или сам проект для более детальной оценки. Примерная цена указана ниже.
Актуальные фриланс-проекты в категории Веб-программирование
Техническая поддержка веб-платформы (Python/Django)Есть работающий веб-проект, нужно поддерживать и постепенно приводить в порядок, без переписывания с нуля. Стек проекта: Backend: Python, Django, Django Rest Framework Frontend: Next.js База данных: PostgreSQL Инфраструктура: AWS (EC2), Nginx Есть интеграции с внешними API… Python, Веб-программирование ∙ 9 часов 18 минут назад ∙ 36 ставок |
Посадка HTML в WordPressТЗ: перенос HTML в WordPress https://bikeinbali.com/new Сделать кастомную WordPress classic theme на базе готовых HTML-макетов.Не использовать: Elementor WPBakery тяжёлые page builder themes Единые элементыСделать глобальные: header.php ( Header/footer должны быть… Веб-программирование, Создание сайта под ключ ∙ 13 часов 59 минут назад ∙ 67 ставок |
Доработка сайта на Ocstore 3
700 UAH
Ocstore 3 Шаблон Upstore Поправить некоторые моменты https://docs.google.com/document/d/1-TmTo3lh_ElFjPMQCGs2sVCsVSzq-V-Z/edit?usp=sharing&ouid=105344407605205919725&rtpof=true&sd=true Ожидаю ваши предложения PHP, Веб-программирование ∙ 14 часов 55 минут назад ∙ 54 ставки |
Собрать страницу на Elementor ProНеобходимо собрать с нуля страницу на сайте WordPress на плагине Elementor (Pro-версия). Десктоп версия + адаптивная версия планшет и мобильный. Дизайн предоставляем в Figma. Шаблон документа дизайна — в приложениях (только десктоп версия). Необходимо будет использовать… HTML и CSS верстка, Веб-программирование ∙ 14 часов 59 минут назад ∙ 53 ставки |
Перенос и настройка готовой темы сайта (шаблона) на WordPressИщем WordPress-разработчика для установки и настройки уже готового шаблона сайта. Есть приобретенный хостинг и домен, а также готовая тема, которую нужно реализовать на сайте: https://foxiz.io/coin/ Задачи: Установить WordPress на хостинг (если еще не установлено) Загрузить и… Веб-программирование, Создание сайта под ключ ∙ 16 часов 37 минут назад ∙ 83 ставки |