Оригинал статьи на английском.
В своей предыдущей статье я расказывал о первой версии CMS: Автоматически генерируемая CMS использую вашу готовую GraphQL-схему, и если вы ее еще не читали, ты советую с ней то же ознакомиться для общего понимания работы данного модуля.
В данной статье я коротко расскажу о второй версии GraphQL CMS. Вы увидите что нового во второй версии и чего стоит ожидать в будущих версиях.
Коротко о проекте:
GraphQL CMS это npm модуль который может помочь вам сохранить огромное количество времени которое вы обычно тратите на интеграцию вашего проекта с CMS или на разработку самописной административной панели.
Все что от вас требуется это GraphQL схема, всю остальную работу модуль сделает за вас!
Модуль автоматически генерирует полноценную CMS используя все сущности из вашей GraphQL схемы и при каждом новом изменении в GraphQL API, CMS будет автоматически обновляться в соответствии с изменениями.
Философия проекта:
Простота. Вам не нужно будет изменять абсолютно ничего в существующем проекте! Вы свободны в использовании любых подходов и архитектур к разработке, представьте что GraphQL CMS это простой React компонент который вы можете разместить внутри любого другого компонента, например чтобы добавить футер и хедер или так же легко можете разместить его на отдельный роут.
По той же причине в модуле нет системы аутентификации, так что вы свободны в использовании любых решений чтобы сделать вашу CMS и API максимально защищенной.
Лично я рекомендуюFeathersJs. Отличный, простой в использовании, бесплатный продукт.
Что нового во второй версии:
Модуль очень гибкий в использовании и даже если вам по какой то причине будет не достаточно стандартных возможностей, вы легко можете расширить CMS своими компоненты с любым функционал, так что у вас есть 100% возможностей решить любую задачу которая вам нужна от CMS.
Но даже без расширения CMS своими компонентами, модуль изначально предоставляет полный список возможностей любой стандартной CMS:
- [New] Документация
- [New] Поддержка свойств GraphQL Типов с любым количеством вложенных объектов
- [New] Поддержка GraphQL списков, с автоматической пре-популяций опций для списка, если это лист другого GraphQL типа, или в случае если это просто произвольный лист, будет возможность добавить новые элементы в список
- [New] Возможность загрузки файлов, и выбора произвольных свойств для GrpahQL Типа к которым нужно использовать эту функцию, вместо стандартной формы
- Пагинация
- Сортировка пунктов меню в боковом меню и всех остальных полей
- Возможность тонкой настройки CMS
- Легко расширить любыми другими функциями и компонентами
- Полная поддержка CRUD
Как вы можете видеть GrpahQL CMS имеет приличные возможности прямо из коробки.
TODO:
- Тест кейсы и комментированный код, чтобы было проще другим разработчикам участвовать в проекте
Если у вас есть какие то пожелания или советы по проекту, пишите в комментариях.
Автор: sarkis-tlt