Модуль для CMS Keystone (Node.js, GraphQL) с реализацией Nested Set
23 000 руб. за проект
Необходимо сделать модуль для CMS Keystone JS (keystonejs.com) (Node.js on backend, React on frontend, используемые технологии: JavaScript, TypeScript, GraphQL, JSX), создающий новый тип поля для хранения древовидных структур в формате Nested Set Model https://en.wikipedia.org/wiki/Nested_set_model
Интерпретация такой древовидной структуры данных уже реализована во многих opensource-библиотеках на JavaScript и TypeScript (и на других языках тоже), например:
Также есть множество статей с описанием этого метода хранения дерева, например эта https://devacademy.ru/article/nested-set эта https://habr.com/ru/post/153861/ и эта http://zabolotnev.com/mysql-nested-sets
Для написания модуля можно взять за основу одну из приведённых выше выше библиотек, найти другой готовый алгоритм либо использовать их как образец для реализации собственного алгоритма.
Образец создания модуля с кастомным полем для Keystone можно найти здесь https://github.com/keystonejs/keystone/tree/main/examples/custom-field а также в соседних папках и в https://github.com/keystonejs/keystone/tree/main/examples-staging тоже есть примеры с реализацией полей.
Ещё примеры реализации модуля с новым типом поля для CMS Keystone можно посмотреть здесь: https://github.com/keystonejs-contrib/k6-contrib/tree/main/packages/fields-dimension
и тут https://keystone-next-docs-8hyk541ju-keystonejs.vercel.app/docs/community
Собственно, по аналогии с этими примерами нужно сделать собственный модуль с реализацией нового типа поля, хранящего древовидную структуру в формате Nested Set.
Более подробное описание задачи - в приложенном файле с техническим заданием.
Если указанный бюджет вам кажется слишком низким для предполагаемого объема работы, то можете привести аргументы по увеличению бюджета, обсудим.
При успешном выполнении данной задачи - можем передавать вам дальнейшие доработки как по этому проекту, так и другие аналогичные задачи (бекенд и фронтенд).
Если возникнут вопросы по вариантам реализации деталей задачи или предложения по более оптимальным решениям - пишите, обсудим.
Интерпретация такой древовидной структуры данных уже реализована во многих opensource-библиотеках на JavaScript и TypeScript (и на других языках тоже), например:
- https://github.com/micksatana/node-nested-set
- https://github.com/orxtime/nestedsetsjs
- https://github.com/fremail/sequelize-nested-set
Также есть множество статей с описанием этого метода хранения дерева, например эта https://devacademy.ru/article/nested-set эта https://habr.com/ru/post/153861/ и эта http://zabolotnev.com/mysql-nested-sets
Для написания модуля можно взять за основу одну из приведённых выше выше библиотек, найти другой готовый алгоритм либо использовать их как образец для реализации собственного алгоритма.
Образец создания модуля с кастомным полем для Keystone можно найти здесь https://github.com/keystonejs/keystone/tree/main/examples/custom-field а также в соседних папках и в https://github.com/keystonejs/keystone/tree/main/examples-staging тоже есть примеры с реализацией полей.
Ещё примеры реализации модуля с новым типом поля для CMS Keystone можно посмотреть здесь: https://github.com/keystonejs-contrib/k6-contrib/tree/main/packages/fields-dimension
и тут https://keystone-next-docs-8hyk541ju-keystonejs.vercel.app/docs/community
Собственно, по аналогии с этими примерами нужно сделать собственный модуль с реализацией нового типа поля, хранящего древовидную структуру в формате Nested Set.
Более подробное описание задачи - в приложенном файле с техническим заданием.
Если указанный бюджет вам кажется слишком низким для предполагаемого объема работы, то можете привести аргументы по увеличению бюджета, обсудим.
При успешном выполнении данной задачи - можем передавать вам дальнейшие доработки как по этому проекту, так и другие аналогичные задачи (бекенд и фронтенд).
Если возникнут вопросы по вариантам реализации деталей задачи или предложения по более оптимальным решениям - пишите, обсудим.
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.