Добавление системы категорий в CMS
Posted:1
Category:
Task description:
Есть CMS для новостного сайта. На текущий момент находится в процессе разработки, в реальных проектах не используется. Для обеспечения возможности классификации статей нужно разработать систему категорий. В проекте может быть несколько категорий, отвечающие за разные нарправления классификации статей. Например, тема («Политика», , «Экономика», «Технологии»), регион («Москва», «Санкт-Петербург», «Новосибирск»), типа материала («Новость», «Интервью», «Мнение»). При этом «тема» будет называться категорией, «Политика» - элементом категорий. Категории могут быть обязательными и не обязательными, со множественным выбором элементов и без.
Для реализации потребуется:
1. Добавить нужные таблицы в базу данных PostgreSQL. Схема в postgraphile api будет обновлена автоматически, таким образом больше никаких изменений на стороне backend делать не придется.
2. Добавить раздел «Категории» в CMS в настройках проекта. Добавить возможность добавления, удаления и изменений категорий и элементов категорий.
3. Добавить на страницу статьи возможность выбора элементов категорий.
4. Перед публикаций проверять, заполнены ли все обязательные категории. В случае отсутствия обязательной категории, открывать диалог выбора категорий.
В CMS используется TypeScript, Vue, GraphQL, tailwind.css. Для запуска CMS используется Docker. Для хранения исходного кода используется GitHub. В процессе выполнения задачи созвон каждый рабочий день.
Исполнителю будет отправлено более подробное ТЗ, а также прототип интерфейса, показывающий логику перехода между страницами и диалогами.
Key skills:
- TypeScript
- Vue.js
- GraphQL
- SQL
Reviews about the employer:
Настраиваемый дизайн для сайта
₽24,000
Тот случай когда покупает все, что налепят
Execution period:
April 2023 — May 2023
Task is in archive
₽10,000
Expected deadline ≈ 7 days
Safe deal
Preferred payment methods:
Bank card

Григорий К.
Novosibirsk, Novosibirskaya oblast'Total tasks:
3
In progress:
0
Successfully completed:
100%
Task link: