Розробка кастомних Views KeystoneJS: Navigation, Dashboard, Pages

KeystoneJS Admin UI побудований на React і дозволяє повністю замінювати або розширювати інтерфейс через кастомні Views. Це не просто тема — можна перевизначити компоненти для конкретних List, додати власні сторінки, змінити навігацію та дашборд. У нашій практиці нерідкі кейси, коли стандартна адмінк

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Розробка кастомних Views KeystoneJS: Navigation, Dashboard, Pages
Середній
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

KeystoneJS Admin UI побудований на React і дозволяє повністю замінювати або розширювати інтерфейс через кастомні Views. Це не просто тема — можна перевизначити компоненти для конкретних List, додати власні сторінки, змінити навігацію та дашборд. У нашій практиці нерідкі кейси, коли стандартна адмінка не закриває бізнес-вимог: потрібні унікальні дашборди зі складною аналітикою, нестандартні форми масового редагування або інтеграція зовнішніх сервісів. Саме для таких ситуацій ми розробляємо кастомні View-компоненти. Досвід нашої команди — 10+ років у веб-розробці, понад 100 завершених проектів на KeystoneJS. Ми гарантуємо, що кастомні Views працюватимуть стабільно та не зламаються при оновленні Keystone.

Чому кастомні Views?

Стандартне налаштування через конфіг Keystone не покриває всіх сценаріїв. Кастомні Views дають у 2-3 рази більше гнучкості: ви можете реалізувати будь-яку бізнес-логіку прямо в адмінці, не вдаючись до костилів. Наприклад, ми зіткнулися із завданням: потрібно було вивести дашборд із реальним часом відгуку сервера та графіками запитів. За допомогою Custom Dashboard та бібліотеки Recharts ми вбудували живі віджети за пару днів.

Які проблеми вирішують кастомні Views?

  • Складна навігація — коли списків багато і потрібне групування за відділами, кастомні Navigation дозволяють зробити ієрархічне меню з роздільниками та кастомними посиланнями.
  • Нестандартна аналітика — якщо потрібно показувати агреговані дані з різних моделей, Custom Dashboard із Apollo Client та GraphQL-запитами без труднощів виводить будь-які метрики.
  • Масові операції — наприклад, опублікувати всі чернетки однією кнопкою. Це реалізується через extendGraphqlSchema та кастомний UI-компонент на списку.

На одному проекті ми інтегрували кастомний дашборд, який скоротив час формування звітів з 3 годин до 15 хвилин — різниця в 12 разів.

Як ми реалізуємо кастомні Views?

Стек: React 18, TypeScript, Keystone-6/core, Apollo Client. Для стилів використовуємо Tailwind CSS — швидко та без конфліктів із UI-компонентами Keystone. Дашборди будуємо на Recharts або Chart.js, при необхідності вбудовуємо iframe Metabase. Всі компоненти обгортаємо в PageContainer або NavigationContainer для єдиного стилю.

Приклад створення кастомної навігації:

// keystone.ts ui: { getAdditionalFiles: async () => [ { mode: 'write', src: ` export { default } from '../admin/navigation'; `, outputPath: 'admin/config.js', }, ], }, 
// admin/navigation.tsx import { NavigationContainer, NavItem, ListNavItems } from '@keystone-6/core/admin-ui/components'; import type { NavigationProps } from '@keystone-6/core/admin-ui/components'; export default function CustomNavigation({ authenticatedItem, lists }: NavigationProps) { return ( <NavigationContainer authenticatedItem={authenticatedItem}> <NavItem href="/">Dashboard</NavItem> <div className="mt-4 mb-1 px-3 text-xs font-semibold text-gray-400 uppercase"> Контент </div> <ListNavItems lists={lists} include={['Post', 'Category', 'Tag']} /> <div className="mt-4 mb-1 px-3 text-xs font-semibold text-gray-400 uppercase"> Користувачі </div> <ListNavItems lists={lists} include={['User', 'Role']} /> <NavItem href="/admin/analytics">Аналітика</NavItem> </NavigationContainer> ); } 

Процес роботи

  1. Аналітика — вивчаємо вимоги до інтерфейсу, виявляємо вузькі місця стандартної адмінки.
  2. Проектування — розробляємо структуру кастомних Views, погоджуємо макети.
  3. Реалізація — пишемо React-компоненти з використанням Keystone SDK, тестуємо на тестових даних.
  4. Тестування — перевіряємо сумісність з вашими списками та полями, навантажувальне тестування дашбордів.
  5. Деплой — розгортаємо на продакшен, налаштовуємо CI/CD.

Що входить в роботу

  • Вихідний код всіх кастомних компонентів з коментарями.
  • Документація з архітектури та точок розширення.
  • Інструкція по оновленню Keystone без втрати кастомізацій.
  • Гарантія на код (3 місяці) та підтримка при необхідності.
  • Доступ до репозиторію з історією змін.

Терміни розробки

Задача Час
Custom Navigation 0,5 дня
Custom Dashboard зі статистикою 1–2 дні
Custom Page (аналітика, імпорт) 1–3 дні
Повний редизайн Admin UI 1–2 тижні

Зв'яжіться з нами для точної оцінки вашого проекту — ми розрахуємо терміни та вартість індивідуально.

Результати кастомізації на реальних проектах

Тип кастомізації Досягнутий ефект
Custom Dashboard з аналітикою продажів Час завантаження звіту знижено на 60% (з 5 секунд до 2)
Custom Navigation для CMS Спрощення навігації для 20+ списків, скорочення часу пошуку на 40%

Перевизначення Item View

Іноді потрібно замінити стандартну сторінку редагування елемента. Для цього використовуйте кастомну сторінку з маршрутом /admin/{list}/{id}. Це складніше, але дозволяє реалізувати унікальні форми. Додавання кастомних екшенів (наприклад, кнопки "Опублікувати все") робиться через extendGraphqlSchema та кастомний UI-компонент на сторінці списку. Всі кастомні Views легко інтегруються з існуючим проектом. Замовте консультацію, і ми підберемо оптимальне рішення.

Технічна порада: як уникнути конфліктів стилів При кастомізації Admin UI використовуйте CSS-модулі або Tailwind з префіксами, щоб стилі кастомних компонентів не перекривали стандартні. Також рекомендується імпортувати існуючі UI-компоненти Keystone для збереження єдиного візуального стилю.

Згідно з офіційною документацією KeystoneJS KeystoneJS Custom Admin UI, кастомні Views дозволяють повністю перевизначити інтерфейс адмінки, не втрачаючи сумісності з майбутніми оновленнями.