Атестаційні завдання K2 ERP/CMS
Атестаційне завдання K2 ERP — CMS — практична задача для розробника K2 ERP, що передбачає створення модуля управління контентом сайту або корпоративного порталу: сторінками, новинами, статтями, оголошеннями, медіафайлами, багатомовністю, публікацією та історією змін.
Назва
Модуль CMS: Управління контентом сайту і корпоративного порталу.
Реальний бізнес-контекст
Компанія має публічний сайт або внутрішній корпоративний портал. Потрібно надати менеджерам можливість самостійно керувати контентом без залучення розробників.
Користувачі повинні мати можливість:
- створювати сторінки;
- редагувати новини, статті та оголошення;
- керувати медіафайлами: зображеннями, PDF-файлами та іншими документами;
- публікувати інформацію кількома мовами.
Основні завдання
1. Структура довідників
Довідник «Категорії контенту»
Довідник категорій контенту повинен містити:
- назву категорії;
- тип категорії:
- новина;
- стаття;
- сторінка;
- оголошення;
- батьківську категорію для побудови ієрархії.
Довідник «Мови»
Довідник мов повинен містити:
- назву мови, наприклад українська, англійська, польська;
- код мови, наприклад
uk,en,pl.
2. Журнал «Матеріали»
Журнал матеріалів повинен відображати всі одиниці контенту сайту або корпоративного порталу.
Колонки журналу
У журналі мають бути такі колонки:
- заголовок;
- категорія;
- автор;
- дата створення;
- статус публікації:
- чернетка;
- опубліковано;
- приховано;
- мова.
Функціональність журналу
Журнал має підтримувати:
- пошук по заголовку;
- пошук по автору;
- пошук по категорії;
- фільтрацію за статусом;
- фільтрацію за мовою.
3. Форма створення матеріалу
Основна інформація
Форма створення або редагування матеріалу повинна містити:
- заголовок;
- короткий опис або анонс;
- повний текст матеріалу через WYSIWYG-редактор;
- категорію з вибором із довідника через AJAX;
- мову;
- зображення-прев’ю із завантаженням через медіабібліотеку;
- статус:
- чернетка;
- опубліковано.
Додаткові поля
Додатково потрібно передбачити:
- теги для SEO;
- URL-адресу, яка генерується автоматично або вказується вручну.
4. Управління медіафайлами
Модуль має містити медіабібліотеку з каталогами.
Потрібно реалізувати:
- завантаження зображень та файлів через AJAX;
- підключення файлів до матеріалів;
- можливість обрізки зображень при завантаженні;
- зберігання медіафайлів у структурованих каталогах.
5. Мультимовність
Кожен матеріал може мати окремі версії різними мовами.
Потрібно реалізувати механізм прив’язки матеріалів між мовами.
Приклад:
- Про нас українською мовою → About us англійською мовою.
6. Публікація на сайті
Після публікації матеріал автоматично відображається на сайті за налаштованим шаблоном.
URL повинен формуватися за правилом:
/<код мови>/<категорія>/<url матеріалу>/
Приклад URL:
/en/news/open-new-office/
7. Специфіка функціоналу
Модуль повинен підтримувати:
- редагування контенту без перезавантаження сторінки через AJAX;
- автоматичне збереження чернеток кожні X хвилин;
- відображення історії змін;
- фіксацію того, хто редагував матеріал;
- фіксацію дати та часу останньої зміни;
- можливість відкату до попередньої версії.
8. Модульні блоки контенту, опціонально
Рівень Advanced передбачає можливість створення окремих блоків контенту для розміщення в різних частинах сайту.
Приклади блоків:
- банер;
- акційний блок;
- слайдер.
Потрібно передбачити конфігурування розташування блоку через панель адміністратора.
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 ERP на Python або PHP |
| БД | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript, AJAX через Axios або Fetch API |
| UI-компоненти | DataTables, Select2, WYSIWYG-редактор TinyMCE або CKEditor |
| Медіауправління | Завантаження файлів через FilePond або Dropzone.js |
| Друк | Немає необхідності |
Критерії оцінки
| Критерій | Бали |
|---|---|
| Реалізація журналу матеріалів | 20 |
| Форма створення та редагування матеріалу | 20 |
| Робота медіабібліотеки | 20 |
| Підтримка багатомовності | 20 |
| Інтерактивність через AJAX | 10 |
| Управління статусами публікації | 10 |
| Разом | 100 |
Примітка
Цей модуль потрібен практично кожній компанії, що має сайт або внутрішній портал: IT-компаніям, маркетинг-агентствам, торговим мережам, освітнім установам і банкам.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений CMS-модуль K2 ERP, який підтримує довідники категорій і мов, журнал матеріалів, форму створення та редагування контенту, WYSIWYG-редактор, медіабібліотеку, багатомовність, автоматичну публікацію, SEO-поля, історію змін, AJAX-інтерактив і, за потреби, модульні блоки контенту.
Рекомендовані сутності бази даних
- категорії контенту;
- мови;
- матеріали;
- переклади матеріалів;
- медіафайли;
- каталоги медіабібліотеки;
- теги;
- SEO-налаштування;
- історія змін;
- статуси публікації;
- модульні блоки;
- розташування блоків;
- автори та права доступу.