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

Стандартный Admin UI KeystoneJS не всегда отвечает бизнес-задачам: нужны уникальные дашборды, нестандартная навигация или собственные страницы. Мы разрабатываем кастомные Views на React, полностью адаптируя интерфейс под ваши процессы. Наша команда реализует проект под ключ — от аудита до внедрения и последующей поддержки, обеспечивая стабильную работу даже при обновлениях Keystone.

Разработка и обслуживание любых видов сайтов:

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

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

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

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 позволяют полностью переопределить интерфейс админки, не теряя совместимости с будущими обновлениями.

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

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060