Необходимо сделать модуль для CMS Keystone JS (keystonejs.com) (Node.js on backend, React on frontend, используемые технологии: JavaScript, TypeScript, GraphQL, JSX), создающий новый тип поля для хранения древовидных структур в формате Nested Set Model
en.wikipedia.org/wiki/Nes... Интерпретация такой древовидной структуры данных уже реализована во многих opensource-библиотеках на JavaScript и TypeScript (и на других языках тоже), например:
github.com/micksatana/nod... github.com/orxtime/nested... github.com/fremail/sequel... и некоторые другие.
Также есть множество статей с описанием этого метода хранения дерева, например эта
devacademy.ru/article/nes... эта
habr.com/ru/post/153861/ и эта
zabolotnev.com/mysql-nest... Для написания модуля можно взять за основу одну из приведённых выше выше библиотек, найти другой готовый алгоритм либо использовать их как образец для реализации собственного алгоритма.
Образец создания модуля с кастомным полем для Keystone можно найти здесь
github.com/keystonejs/key... а также в соседних папках и в
github.com/keystonejs/key... тоже есть примеры с реализацией полей.
Ещё примеры реализации модуля с новым типом поля для CMS Keystone можно посмотреть здесь:
github.com/keystonejs-con... и тут
keystone-next-docs-8hyk54... Собственно, по аналогии с этими примерами нужно сделать собственный модуль с реализацией нового типа поля, хранящего древовидную структуру в формате Nested Set.
Если возникнут вопросы по вариантам реализации деталей задачи или предложения по более оптимальным решениям сразу пишите в чат, обсудим.
Более подробное описание задачи в приложенном файле с техническим заданием.
Если указанный бюджет вам кажется слишком низким для предполагаемого объема работы, то можете привести аргументы по увеличению бюджета, обсудим.