Необходимо сделать модуль для CMS Keystone JS (keystonejs.com) (Node.js on backend, React on frontend, используемые технологии: JavaScript, TypeScript, GraphQL, JSX), создающий новый тип поля для хранения древовидных структур в формате Nested Set Model
Интерпретация такой древовидной структуры данных уже реализована во многих opensource-библиотеках на JavaScript и TypeScript (и на других языках тоже), например:
и некоторые другие.
Также есть множество статей с описанием этого метода хранения дерева, например эта
эта
и эта
Для написания модуля можно взять за основу одну из приведённых выше выше библиотек, найти другой готовый алгоритм либо использовать их как образец для реализации собственного алгоритма.
Образец создания модуля с кастомным полем для Keystone можно найти здесь
а также в соседних папках и в
тоже есть примеры с реализацией полей.
Ещё примеры реализации модуля с новым типом поля для CMS Keystone можно посмотреть здесь:
и тут
Собственно, по аналогии с этими примерами нужно сделать собственный модуль с реализацией нового типа поля, хранящего древовидную структуру в формате Nested Set.
Если возникнут вопросы по вариантам реализации деталей задачи или предложения по более оптимальным решениям сразу пишите в чат, обсудим.
Более подробное описание задачи в приложенном файле с техническим заданием.
Если указанный бюджет вам кажется слишком низким для предполагаемого объема работы, то можете привести аргументы по увеличению бюджета, обсудим.