Потрібно підключити фронт до 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 (Міжнародна локалізація):
локалі мінімум:
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, тощо)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 повинні бути розширювальними (легко додати новий блок).
9. Поставка (Deliverables)
Фрилансер повинен п
-
7 днів25 965 UAH
3160 23 1 3 7 днів25 965 UAHПривіт, Дмитре! Бачачи вашу задачу з інтеграцією Next.js і Strapi з мультимовністю, я розумію, як важливо забезпечити гнучкість і автоматизацію змін контенту.
Мій досвід у проектуванні та розробці систем дозволяє мені легко налаштувати ISR і Webhook для миттєвого оновлення без деплою, забезпечивши вашому бізнесу оперативність. Також я розробляв системні рішення з акцентом на масштабованість і бездоганну інтеграцію API.
Давайте разом перетворимо складні завдання на прості рішення, де ваш сайт буде працювати як годинник.
-
10 днів28 562 UAH
364 4 0 10 днів28 562 UAHДоброго дня!
Зацікавила ваша пропозиція щодо інтеграції Next.js фронту
Досвід 6+ років з Next.js + Strapi (включаючи RLS, багатомовність, ISR/webhook, Динамічні зони), пишу чистий модульний код з централізованим API-слоєм
Пишіть, обговоримо деталі!
-
1 день5193 UAH
3912 6 0 1 день5193 UAHДоброго дня! Вивчивши документацію до проєкту, мене зацікавила можливість співпраці.
Можу запропонувати працювати поетапно:
(вже розгорнув те, що описано нижче) звертайтеся, покажу
1. Я розгорну Strapi (можна на тестовому сервісі для наочності)
2. PostgreSQL також.
3. Підключу i18n, налаштуваю 2 локалізації
4. Налаштую права доступу до відповідних ролей.
5. Зроблю демонстраційний контент.
6. Підготую Global API, туди зайде і SEO глобальне
… 7. Підготую Page API
Все це ви подивитеся, і ми домовимося про наступний етап, що розробляємо.
Це дає вам можливість побачити результат і вирішити, який етап розробки на той момент буде для вас пріоритетнішим, на нього і переключимося.
Якщо підходить, я готовий зробити цю частину, показати - якщо все підходить, чекаю оплату за неї, наступний і наступний етап. Якщо ні, то ви нічого не повинні.
По оплаті 15$ за годину. Цікавить довгострокова співпраця.
-
15 днів46 738 UAH
13013 67 0 15 днів46 738 UAHВітаю! Виконаю ваше завдання швидко і якісно.
Моє портфоліо: https://freelancehunt.com/ua/freelancer/romas6ka.html#portfolio
Пишіть, почну сьогодні працювати. Буду радий співпраці з Вами!
-
25 днів77 896 UAH
307 25 днів77 896 UAHПривіт.
Я чітко розумію, що основна мета полягає в тому, щоб підключити існуючий фронтенд Next.js до Strapi CMS, щоб контент став повністю керованим з адміністративної панелі, з чистою багатомовною підтримкою та без перешкод для ваших поточних панелей інструментів та внутрішньої логіки. Я б впровадив Strapi з належним i18n, структурованими моделями контенту, ролями та демонстраційними даними, а потім створив би чистий інтеграційний шар Next.js (клієнт, запити, мапери), щоб компоненти фронтенду залишалися відокремленими від сирих відповідей CMS. Для продуктивності та актуальності контенту я використовуватиму SSG/ISR з безпечними вебхуками від Strapi для миттєвої повторної перевірки, гарантуючи, що оновлення контенту відображатимуться без повторного розгортання. Цей підхід зосереджений на зручності обслуговування, масштабованості та зручності редагування, зберігаючи при цьому стабільність та готовність існуючої архітектури фронтенду до виробництва.
-
20 днів46 738 UAH
2986 37 0 1 20 днів46 738 UAHДоброго дня. Розгорну і підключу Strapi до вашого проєкту. Оплата, швидше за все, буде погодинною. Надішліть мені ваш макет дизайну або сам проєкт для більш детальної оцінки. Приблизна ціна вказана нижче.
Актуальні фриланс-проєкти в категорії Веб-програмування
Shopify-розробник для сайту доставки суші (Польща)Шукаємо досвідченого Shopify-розробника для реалізації сайту доставки їжі (суші) для клієнта з м. Катовіце, Польща. Що потрібно зробити: Налаштувати сайт на готовому шаблоні Shopify (шаблон узгоджується) Меню з фотографіями страв і описами Онлайн-оформлення замовлень Підключення… Веб-програмування ∙ 22 хвилини тому ∙ 9 ставок |
Webflow розробник для заповнення сторінок портфоліо на сайтіЄ сайт розроблений кастомно на вебфлоу для будівельної компанії, потрібно швидко заповнити сторінки проектів за одним шаблоном (замінити картинки і тексти) Для 2 мов Кількість - 6 штук Готові починати asap, дякую! HTML та CSS верстання, Веб-програмування ∙ 16 годин 18 хвилин тому ∙ 32 ставки |
Адміністратор-налаштувальник LearnWorldsЗадача Настроїти готову платформу LearnWorlds під елітний онлайн-курс. Не розробляти архітектуру — реалізувати вже готову структуру руками в адмін-панелі. ———————— Що потрібно зробити: Брендинг ⦁ Підключити свій домен ⦁ Завантажити логотип, налаштувати фірмові кольори ⦁… CMS, Веб-програмування ∙ 19 годин 22 хвилини тому ∙ 9 ставок |
Верстка та посадка на WordPress сайту будівельної компанії (Premium-сегмент) з акцентом на SEOОпис проєкту:Шукаємо досвідченого WordPress-розробника для верстки та посадки готового дизайн-макета з Figma на CMS WordPress. Важливий контекст проєкту:Це не розробка сайту з нуля. Компанія має діючий сайт, ми оновлюємо структуру та дизайн. Нам необхідно реалізувати головну… HTML та CSS верстання, Веб-програмування ∙ 20 годин 59 хвилин тому ∙ 54 ставки |
≈5 мікросервісів на FastAPI + правки та рефакторинг
15 682 UAH
Є проект, що складається приблизно з ~11 мікросервісів на FastAPI з інтеграціями, який більш ніж на половину готовий. Завдання - доробити решту ~5 мікросервісів (конкретніше - subscription/billing та інтеграція з Revenuecat, захист від зловживань для білінгу, Notifications,… Python, Веб-програмування ∙ 23 години 10 хвилин тому ∙ 37 ставок |