Атестаційні завдання K2 ERP/Дошка оголошень
Атестаційне завдання K2 ERP — Дошка оголошень — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля онлайн-дошки оголошень із публікацією, пошуком, фільтрацією, фото, особистим кабінетом користувача, модерацією та керуванням статусами оголошень.
Модуль має забезпечувати повний цикл роботи з оголошеннями: створення категорій і регіонів, публікацію оголошень, завантаження фото, пошук, фільтрацію, сортування, модерацію, архівування, редагування користувачем і сповіщення про зміну статусу.
Коротко. Потрібно реалізувати дошку оголошень, де користувачі можуть створювати оголошення, додавати фото, вибирати категорію й регіон, вказувати ціну та контакти, а відвідувачі — швидко шукати, фільтрувати й переглядати актуальні пропозиції.
Назва завдання
Модуль онлайн-дошки оголошень: публікація, пошук і фільтрація оголошень.
Мета завдання
Мета завдання — створити в K2 ERP модуль для розміщення, пошуку та керування оголошеннями.
Система повинна дозволяти:
- вести категорії оголошень;
- вести регіони, області та міста;
- створювати оголошення через форму;
- завантажувати кілька фото;
- вказувати ціну, опис і контактні дані;
- публікувати оголошення одразу або після модерації;
- редагувати власні оголошення;
- знімати оголошення з публікації;
- автоматично архівувати старі оголошення;
- виконувати пошук по назві та опису;
- фільтрувати оголошення за категорією, регіоном і ціною;
- сортувати оголошення за датою або ціною;
- переглядати оголошення у списку або картках;
- керувати оголошеннями в особистому кабінеті;
- надсилати email-сповіщення про публікацію, модерацію й архівування;
- формувати адміністративні звіти по оголошеннях, користувачах і категоріях.
Головний принцип. Дошка оголошень має бути простою для користувача, але керованою для адміністратора: швидка публікація, зручний пошук, зрозумілі статуси, фото, модерація і контроль актуальності.
Реальний бізнес-контекст
Потрібно створити багатофункціональну онлайн-дошку оголошень для розміщення пропозицій і запитів.
На такій платформі можуть публікуватися:
- продаж товарів;
- оренда нерухомості;
- продаж авто;
- надання послуг;
- пошук роботи;
- пошук працівників;
- B2B-пропозиції;
- локальні приватні оголошення;
- тематичні оголошення для окремої галузі.
Користувачу потрібно швидко створити оголошення, додати фото, вказати контакти й опублікувати пропозицію. Відвідувачу потрібно швидко знайти потрібне оголошення за категорією, містом, ціною або ключовим словом. Адміністратору потрібно контролювати якість публікацій, приховувати некоректні оголошення та бачити статистику платформи.
Основний бізнес-процес
Типовий процес роботи дошки оголошень виглядає так:
- адміністратор створює категорії оголошень;
- адміністратор створює регіони, області та міста;
- користувач реєструється або входить у систему;
- користувач створює нове оголошення;
- вибирає категорію і регіон;
- вводить назву, опис, ціну та контакти;
- завантажує фото;
- підтверджує правила публікації;
- оголошення публікується або переходить на модерацію;
- модератор схвалює або відхиляє оголошення;
- відвідувачі знаходять оголошення через пошук і фільтри;
- користувач редагує або архівує власні оголошення;
- після закінчення строку дії оголошення автоматично архівується.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Категорії оголошень | Розділи дошки: авто, нерухомість, робота, послуги, товари |
| Регіони | Географічна прив’язка оголошень: країна, область, місто |
| Користувачі | Автори оголошень і власники особистих кабінетів |
| Оголошення | Основні публікації на дошці |
| Фото оголошень | Зображення товарів, об’єктів або послуг |
| Статуси оголошень | На модерації, активне, відхилене, архівне, видалене |
| Модерація | Перевірка оголошень перед публікацією |
| Пошук і фільтри | Інструменти швидкого знаходження оголошень |
| Особистий кабінет | Керування власними оголошеннями користувача |
| Сповіщення | Email-повідомлення про статус оголошення |
| Звіти | Статистика по категоріях, регіонах, користувачах і статусах |
Довідник «Категорії оголошень»
Довідник категорій потрібен для структурування оголошень.
Категорії можуть бути однорівневими або мати вкладені підкатегорії.
Приклади категорій
- авто;
- нерухомість;
- робота;
- послуги;
- товари;
- електроніка;
- будівництво;
- тварини;
- обладнання;
- бізнес-пропозиції.
Поля категорії
| Поле | Опис |
|---|---|
| Назва категорії | Наприклад: авто, нерухомість, робота, послуги |
| Батьківська категорія | Для створення підкатегорій |
| Опис | Короткий опис категорії |
| Іконка | Опціонально, для візуального відображення |
| Порядок сортування | Позиція категорії в меню |
| Активність | Чи доступна категорія для нових оголошень |
Приклад ієрархії категорій
| Категорія | Підкатегорії |
|---|---|
| Авто | Легкові авто, запчастини, мото, вантажівки |
| Нерухомість | Продаж квартир, оренда квартир, будинки, комерційна нерухомість |
| Робота | Вакансії, резюме, тимчасова робота |
| Послуги | Ремонт, перевезення, навчання, IT-послуги |
| Товари | Електроніка, меблі, одяг, інструменти |
Довідник «Регіони»
Довідник регіонів потрібен для географічної фільтрації оголошень.
Поля регіону
| Поле | Опис |
|---|---|
| Країна | Країна розміщення оголошення |
| Область | Область або регіон |
| Місто | Населений пункт |
| Район | Опціонально |
| Активність | Чи доступний регіон для вибору |
База «Оголошення»
База оголошень є головним журналом модуля.
Колонки бази оголошень
| Колонка | Опис |
|---|---|
| Номер оголошення | Унікальний номер публікації |
| Назва оголошення | Короткий заголовок |
| Категорія | Розділ, у якому розміщено оголошення |
| Регіон | Область і місто |
| Ціна | Вартість товару, послуги або об’єкта |
| Дата публікації | Коли оголошення стало активним |
| Автор | Користувач, який створив оголошення |
| Статус | Активне, на модерації, відхилене, архівне |
| Контактна інформація | Телефон, email або інший канал зв’язку |
Статуси оголошень
| Статус | Значення |
|---|---|
| Чернетка | Оголошення створюється, але ще не відправлене на публікацію |
| На модерації | Оголошення очікує перевірки |
| Активне | Оголошення опубліковане і доступне для перегляду |
| Відхилене | Модератор не допустив оголошення до публікації |
| Архівне | Оголошення більше неактивне, але зберігається в системі |
| Видалене | Оголошення видалене користувачем або адміністратором |
Форма створення оголошення
Форма створення оголошення повинна бути простою й зрозумілою.
Поля форми оголошення
| Поле | Опис |
|---|---|
| Категорія | Вибір розділу оголошення |
| Регіон | Вибір області та міста |
| Назва | Короткий заголовок оголошення |
| Опис | Детальна інформація |
| Ціна | Вартість або позначка «договірна» |
| Фото | Одне або кілька зображень |
| Телефон | Контактний номер |
| Контактна пошта | |
| Ім’я контактної особи | Хто відповідає на звернення |
| Правила публікації | Підтвердження згоди з правилами |
Кроки створення оголошення
- Користувач вибирає категорію.
- Вибирає регіон: область і місто.
- Вводить назву оголошення.
- Додає детальний опис.
- Вказує ціну або позначає ціну як договірну.
- Завантажує фото.
- Вказує контактну інформацію.
- Підтверджує правила публікації.
- Зберігає оголошення.
- Оголошення публікується або потрапляє на модерацію.
Важливо. Користувач повинен розуміти статус свого оголошення: воно вже опубліковане, очікує модерації, відхилене або перенесене в архів.
Фото оголошень
Модуль має підтримувати завантаження кількох фото до одного оголошення.
Вимоги до фото
Система повинна дозволяти:
- завантажити кілька зображень;
- вказати головне фото;
- переглядати фото в галереї;
- видаляти фото;
- змінювати порядок фото;
- обмежувати максимальний розмір файлу;
- перевіряти формат зображення.
Відображення фото
Фото мають відображатися:
- у картці оголошення;
- у списку оголошень;
- у результатах пошуку;
- в особистому кабінеті користувача;
- в адміністративній модерації.
Модерація оголошень
Модерація потрібна для контролю якості контенту.
Дії модератора
Модератор повинен мати можливість:
- переглянути нове оголошення;
- схвалити оголошення;
- відхилити оголошення;
- вказати причину відхилення;
- відправити оголошення на редагування;
- заблокувати оголошення;
- приховати некоректні фото.
Причини відхилення
Приклади причин:
- некоректна категорія;
- заборонений товар або послуга;
- недостатній опис;
- некоректні фото;
- дублювання оголошення;
- підозріле або шахрайське оголошення;
- порушення правил платформи.
Особистий кабінет користувача
Особистий кабінет дозволяє користувачу керувати власними оголошеннями.
Функції кабінету
Користувач повинен мати можливість:
- переглядати свої оголошення;
- створювати нові оголошення;
- редагувати активні оголошення;
- бачити статус модерації;
- архівувати оголошення;
- поновлювати оголошення;
- видаляти оголошення;
- переглядати повідомлення системи.
Пошук оголошень
Пошук має працювати по ключових словах.
Поля для пошуку
Пошук повинен перевіряти:
- назву оголошення;
- опис;
- категорію;
- місто;
- контактну особу, якщо це потрібно в адмінці.
Фільтрація оголошень
Фільтри допомагають користувачу швидко знайти потрібну пропозицію.
Основні фільтри
- категорія;
- підкатегорія;
- область;
- місто;
- ціна від;
- ціна до;
- дата публікації;
- наявність фото;
- статус, для адміністратора.
Сортування оголошень
Система повинна підтримувати сортування:
- за датою публікації;
- за ціною зростання;
- за ціною спадання;
- за популярністю, опціонально;
- за кількістю переглядів, опціонально.
Пагінація
Список оголошень має підтримувати пагінацію.
Потрібно показувати:
- кількість оголошень на сторінці;
- поточну сторінку;
- загальну кількість сторінок;
- перехід на наступну й попередню сторінку.
Картка оголошення
Картка оголошення — це повна сторінка конкретної публікації.
Дані картки оголошення
Картка має містити:
- назву;
- фото;
- ціну;
- категорію;
- регіон і місто;
- дату публікації;
- опис;
- контактну інформацію;
- автора;
- статус;
- кнопку зв’язку з автором;
- схожі оголошення, опціонально.
Автоматичне архівування
Система повинна автоматично архівувати оголошення після закінчення строку дії.
Наприклад:
Строк активності оголошення = 30 днів
Після завершення строку система повинна:
- змінити статус на «Архівне»;
- прибрати оголошення з публічного пошуку;
- залишити його в особистому кабінеті;
- надіслати користувачу email;
- запропонувати поновити оголошення.
Критично. Архівні або відхилені оголошення не повинні відображатися в публічному пошуку як активні.
Email-сповіщення
Модуль має підтримувати email-сповіщення користувачів.
Події для сповіщень
Повідомлення бажано надсилати, коли:
- оголошення створено;
- оголошення відправлено на модерацію;
- оголошення схвалено;
- оголошення відхилено;
- оголошення архівовано;
- строк дії оголошення скоро завершується;
- оголошення поновлено.
Адміністративна панель
Адміністратор повинен мати окремий інтерфейс для керування дошкою оголошень.
Функції адміністратора
Адміністратор має керувати:
- категоріями;
- регіонами;
- користувачами;
- оголошеннями;
- статусами;
- модерацією;
- причинами відхилення;
- строками активності;
- звітами;
- службовими налаштуваннями.
Звітність
Звіт «Оголошення за період»
Звіт показує кількість створених оголошень за вибраний період.
У звіті потрібно відображати:
- дату;
- кількість створених оголошень;
- кількість активних;
- кількість на модерації;
- кількість відхилених;
- кількість архівних.
Звіт «Оголошення по категоріях»
Звіт показує активність у розділах дошки.
У звіті потрібно відображати:
- категорію;
- кількість оголошень;
- кількість активних;
- кількість архівних;
- кількість відхилених;
- частку категорії від загальної кількості.
Звіт «Оголошення по регіонах»
Звіт показує географічну активність.
У звіті потрібно відображати:
- область;
- місто;
- кількість оголошень;
- кількість активних;
- середню ціну, якщо застосовується.
Звіт «Активність користувачів»
Звіт показує, які користувачі створюють найбільше оголошень.
У звіті потрібно відображати:
- користувача;
- кількість створених оголошень;
- кількість активних;
- кількість архівних;
- кількість відхилених;
- дату останньої публікації.
AJAX-інтерактив
Інтерфейс має працювати швидко та без зайвого перезавантаження сторінок.
Через AJAX мають працювати:
- вибір категорії;
- вибір регіону;
- завантаження фото;
- створення оголошення;
- редагування оголошення;
- пошук по ключових словах;
- фільтрація за категорією;
- фільтрація за регіоном;
- фільтрація за ціною;
- сортування;
- пагінація;
- зміна статусу в адмінці;
- модерація оголошення.
Логування змін
Модуль повинен фіксувати важливі дії.
Журнал змін має зберігати:
- хто створив оголошення;
- хто змінив назву або опис;
- хто додав або видалив фото;
- хто змінив ціну;
- хто змінив категорію;
- хто змінив регіон;
- хто відправив оголошення на модерацію;
- хто схвалив або відхилив оголошення;
- хто архівував оголошення;
- хто видалив оголошення;
- дату й час зміни;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати розмежування прав.
| Роль | Можливості |
|---|---|
| Гість | Переглядає активні оголошення, користується пошуком і фільтрами |
| Користувач | Створює, редагує, архівує і переглядає власні оголошення |
| Модератор | Перевіряє оголошення, схвалює, відхиляє, приховує некоректний контент |
| Адміністратор | Керує категоріями, регіонами, користувачами, статусами й налаштуваннями |
| Керівник | Переглядає статистику, активність, звіти і загальний стан платформи |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Axios або Fetch API |
| UI-компоненти | DataTables для адмінки, Select2 для категорій і регіонів |
| Фото | Галерея зображень, перегляд фото, головне фото оголошення |
| Друк | Не обов’язково, основна інформація працює онлайн |
| Сповіщення про статуси оголошень |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- користувачі;
- ролі користувачів;
- категорії оголошень;
- регіони;
- області;
- міста;
- оголошення;
- фото оголошень;
- статуси оголошень;
- причини відхилення;
- модерація;
- перегляди оголошень, опціонально;
- обране, опціонально;
- повідомлення користувачів;
- email-сповіщення;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити категорії оголошень;
- створити регіони, області та міста;
- створити користувача;
- створити нове оголошення;
- вибрати категорію і регіон;
- додати назву, опис, ціну і контакти;
- завантажити кілька фото;
- вказати головне фото;
- відправити оголошення на модерацію;
- схвалити оголошення модератором;
- перевірити, що оголошення стало активним;
- знайти оголошення через пошук;
- відфільтрувати оголошення за категорією;
- відфільтрувати оголошення за регіоном;
- відфільтрувати оголошення за ціною;
- відсортувати оголошення за датою;
- відредагувати оголошення в особистому кабінеті;
- відхилити тестове оголошення з причиною;
- архівувати оголошення;
- перевірити, що архівне оголошення не видно в публічному пошуку;
- сформувати звіт оголошень за період;
- сформувати звіт по категоріях;
- сформувати звіт по регіонах;
- перевірити журнал змін.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази оголошень і створення оголошення | 20 | Категорії, регіони, форма створення, опис, ціна, контакти, статуси |
| Пошук, фільтрація і сортування оголошень | 20 | Пошук по назві й опису, фільтри за категорією, регіоном, ціною, сортування і пагінація |
| Завантаження і вивід фото оголошень | 20 | Кілька фото, головне фото, галерея, відображення в списку і картці |
| Управління статусами оголошень | 20 | Чернетка, модерація, активне, відхилене, архівне, видалене, причини відхилення |
| Інтерактивність через AJAX і особистий кабінет користувача | 20 | AJAX-пошук, фільтри, створення, редагування, модерація, кабінет користувача |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: категорії, регіони, оголошення, фото, пошук, фільтри, модерація, кабінет і AJAX реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують роботу дошки оголошень |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: створення оголошення, статуси, фото, пошук, фільтри або модерація |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити категорію;
- неможливо створити регіон;
- неможливо створити оголошення;
- оголошення не має назви або опису;
- оголошення не має категорії;
- оголошення не має регіону;
- фото не прив’язуються до оголошення, якщо ця функція заявлена;
- пошук по назві або опису не працює;
- фільтрація за категорією не працює;
- фільтрація за регіоном не працює;
- архівні або відхилені оголошення видно як активні;
- користувач може редагувати чуже оголошення без прав;
- модератор не може схвалити або відхилити оголошення;
- зміни статусів не логуються;
- звіти не відповідають фактичним оголошенням.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл дошки оголошень: категорія → регіон → оголошення → фото → модерація → публікація → пошук → архів.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль онлайн-дошки оголошень у K2 ERP.
Модуль має підтримувати категорії, регіони, користувачів, оголошення, фото, статуси, модерацію, особистий кабінет, пошук, фільтри, сортування, пагінацію, автоматичне архівування, email-сповіщення, звіти, AJAX-інтерактив і логування змін.
Примітка
Дошка оголошень може бути основою для маркетплейсу, локального торгового майданчика, тематичного порталу, B2B-платформи або внутрішньої корпоративної системи оголошень.
Правильна побудова пошуку, фільтрації, модерації та особистого кабінету критично важлива для зручності користувачів, довіри до платформи й ефективності роботи сервісу.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль онлайн-дошки оголошень |
| Які довідники потрібні? | Категорії оголошень, регіони, області, міста |
| Який головний об’єкт? | Оголошення з назвою, описом, ціною, фото, регіоном і контактами |
| Які статуси потрібні? | Чернетка, на модерації, активне, відхилене, архівне, видалене |
| Який пошук потрібен? | По назві, опису, категорії, регіону й ціні |
| Що має бути в кабінеті? | Створення, редагування, архівування і перегляд власних оголошень |
| Які звіти потрібні? | Оголошення за період, по категоріях, по регіонах, активність користувачів |
| Що є критичною вимогою? | Активні оголошення мають бути доступні в пошуку, а архівні й відхилені — ні |