Атестаційні завдання K2 ERP/Сайт роботи: відмінності між версіями
R (обговорення | внесок) Створена сторінка: = Модуль платформи пошуку роботи: вакансії, резюме, відгуки кандидатів = == Реальний бізнес-контекст == Компанія створює сайт для пошуку роботи і підбору персоналу: * роботодавці розміщують вакансії; * кандидати створюють резюме і відгукуються на вакан... |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
= Модуль платформи пошуку роботи: вакансії, резюме, відгуки кандидатів = | {{DISPLAYTITLE:Атестаційні завдання K2 ERP/Сайт роботи}} | ||
'''Атестаційне завдання K2 ERP — Сайт роботи''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля платформи пошуку роботи: вакансій, резюме, відгуків кандидатів, кабінетів роботодавців і шукачів, пошуку, фільтрації, модерації та нотифікацій. | |||
Модуль має забезпечувати повний цикл роботи job-платформи: роботодавець створює вакансію, кандидат створює резюме, система дозволяє шукати вакансії й резюме, кандидат відгукується на вакансію, роботодавець переглядає відгуки, а адміністрація контролює якість контенту. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати сайт пошуку роботи: вакансії, резюме, відгуки, кабінет роботодавця, кабінет кандидата, пошук, фільтри, модерація, архівація вакансій, email-сповіщення та базові преміум-послуги. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль платформи пошуку роботи: вакансії, резюме, відгуки кандидатів'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації роботи сайту пошуку роботи та підбору персоналу. | |||
Система повинна дозволяти: | |||
* реєструвати роботодавців; | |||
* реєструвати кандидатів; | |||
* вести довідник категорій вакансій; | |||
* вести довідник регіонів; | |||
* вести типи зайнятості; | |||
* створювати вакансії; | |||
* створювати резюме; | |||
* публікувати вакансії після модерації або одразу; | |||
* публікувати резюме з налаштуванням видимості; | |||
* виконувати пошук вакансій; | |||
* виконувати пошук резюме; | |||
* фільтрувати вакансії за категорією, регіоном, зарплатою і типом зайнятості; | |||
* фільтрувати резюме за посадою, регіоном, досвідом і очікуваною зарплатою; | |||
* дозволяти кандидатам відгукуватися на вакансії; | |||
* дозволяти роботодавцям переглядати відгуки; | |||
* вести статуси відгуків; | |||
* автоматично архівувати вакансії після завершення строку актуальності; | |||
* надсилати email-сповіщення; | |||
* підтримувати особисті кабінети роботодавця і кандидата; | |||
* підтримувати преміум-послуги для вакансій; | |||
* формувати звіти по вакансіях, резюме, відгуках і активності користувачів. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Сайт роботи має з’єднувати дві сторони: роботодавця, який шукає працівника, і кандидата, який шукає роботу. Тому ключова логіка модуля — це вакансії, резюме, пошук і відгуки. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Компанія створює сайт для пошуку роботи | Компанія створює сайт для пошуку роботи, рекрутингу або внутрішнього підбору персоналу. | ||
На платформі працюють дві основні групи користувачів: | |||
* роботодавці, які публікують вакансії; | |||
* кандидати, які створюють резюме та відгукуються на вакансії. | |||
Адміністрація платформи контролює якість контенту, модерує вакансії й резюме, стежить за активністю користувачів, керує категоріями, регіонами та преміум-послугами. | |||
Такий модуль може використовуватися для: | |||
* публічного сайту пошуку роботи; | |||
* рекрутингової агенції; | |||
* біржі фрілансу; | |||
* корпоративного порталу вакансій; | |||
* внутрішнього HR-порталу компанії; | |||
* галузевої платформи пошуку спеціалістів. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи сайту пошуку роботи виглядає так: | |||
# адміністратор створює категорії вакансій, регіони і типи зайнятості; | |||
# роботодавець реєструється на сайті; | |||
# роботодавець створює компанію або профіль роботодавця; | |||
# роботодавець публікує вакансію; | |||
# вакансія переходить на модерацію або стає активною; | |||
# кандидат реєструється на сайті; | |||
# кандидат створює резюме; | |||
# кандидат шукає вакансії через пошук і фільтри; | |||
# кандидат відкриває вакансію і натискає '''«Відгукнутися»'''; | |||
# роботодавець бачить відгук у своєму кабінеті; | |||
# роботодавець змінює статус відгуку; | |||
# кандидат бачить статус свого відгуку; | |||
# після завершення строку актуальності вакансія архівується; | |||
# дані потрапляють у звіти. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Кандидати | |||
| Користувачі, які шукають роботу | |||
|- | |||
| Роботодавці | |||
| Компанії або представники компаній, які шукають працівників | |||
|- | |||
| Компанії | |||
| Профілі роботодавців | |||
|- | |||
| Категорії вакансій | |||
| Галузі та напрями роботи | |||
|- | |||
| Регіони | |||
| Географія вакансій і резюме | |||
|- | |||
| Типи зайнятості | |||
| Повна, часткова, віддалена робота, стажування тощо | |||
|- | |||
| Вакансії | |||
| Оголошення роботодавців про пошук працівників | |||
|- | |||
| Резюме | |||
| Профілі кандидатів із досвідом, освітою і навичками | |||
|- | |||
| Відгуки | |||
| Заявки кандидатів на вакансії | |||
|- | |||
| Статуси відгуків | |||
| Новий, переглянуто, запрошено, відхилено, прийнято | |||
|- | |||
| Модерація | |||
| Перевірка вакансій, резюме і компаній | |||
|- | |||
| Нотифікації | |||
| Email-повідомлення про нові вакансії, відгуки і статуси | |||
|- | |||
| Преміум-послуги | |||
| Підняття, виділення або просування вакансій | |||
|- | |||
| Звіти | |||
| Аналітика по вакансіях, резюме, відгуках і користувачах | |||
|} | |||
== Довідник «Категорії вакансій» == | |||
Категорії вакансій потрібні для структурування вакансій і резюме. | |||
== | == Приклади категорій == | ||
* IT; | |||
* маркетинг; | |||
* продажі; | |||
* будівництво; | |||
* медицина; | |||
* освіта; | |||
* логістика; | |||
* виробництво; | |||
* фінанси; | |||
* бухгалтерія; | |||
* адміністративний персонал; | |||
* HoReCa; | |||
* робочі спеціальності. | |||
==== | == Поля категорії == | ||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва категорії | |||
| Наприклад: IT, маркетинг, медицина, продажі | |||
|- | |||
| Батьківська категорія | |||
| Опціонально, для побудови ієрархії | |||
|- | |||
| Опис | |||
| Короткий опис напряму | |||
|- | |||
| Активність | |||
| Чи доступна категорія для вибору | |||
|} | |||
== Довідник «Регіони» == | |||
Регіони потрібні для географічного пошуку вакансій і резюме. | |||
== | == Поля регіону == | ||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Країна | |||
| Країна розміщення вакансії або кандидата | |||
|- | |||
| Область | |||
| Область або регіон | |||
|- | |||
| Місто | |||
| Населений пункт | |||
|- | |||
| Район | |||
| Опціонально | |||
|- | |||
| Активність | |||
| Чи доступний регіон для вибору | |||
|} | |||
== Довідник «Типи зайнятості» == | |||
Тип зайнятості допомагає кандидату й роботодавцю швидше знайти відповідні пропозиції. | |||
== Приклади типів зайнятості == | |||
* повна зайнятість; | * повна зайнятість; | ||
* часткова зайнятість; | * часткова зайнятість; | ||
* віддалена робота; | * віддалена робота; | ||
* стажування. | * гібридна робота; | ||
* стажування; | |||
* проєктна робота; | |||
* фріланс; | |||
* тимчасова робота. | |||
== База «Вакансії» == | |||
База вакансій містить оголошення роботодавців про пошук працівників. | |||
== Колонки бази вакансій == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Назва вакансії | |||
| Посада або коротка назва роботи | |||
|- | |||
| Компанія | |||
| Роботодавець, який опублікував вакансію | |||
|- | |||
| Категорія | |||
| Галузь або напрям роботи | |||
|- | |||
| Регіон | |||
| Місто або область | |||
|- | |||
| Зарплата від | |||
| Мінімальна зарплата | |||
|- | |||
| Зарплата до | |||
| Максимальна зарплата | |||
|- | |||
| Тип зайнятості | |||
| Повна, часткова, віддалена тощо | |||
|- | |||
| Статус | |||
| Активна, на модерації, завершена, архівна | |||
|- | |||
| Дата публікації | |||
| Коли вакансія стала активною | |||
|- | |||
| Термін актуальності | |||
| До якої дати вакансія активна | |||
|} | |||
== Поля вакансії == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва вакансії | |||
| Наприклад: Python Developer, бухгалтер, менеджер продажів | |||
|- | |||
| Компанія | |||
| Роботодавець | |||
|- | |||
| Категорія | |||
| Напрям роботи | |||
|- | |||
| Регіон | |||
| Місце роботи | |||
|- | |||
| Формат роботи | |||
| Офіс, віддалено, гібридно | |||
|- | |||
| Тип зайнятості | |||
| Повна, часткова, стажування, фріланс | |||
|- | |||
| Зарплата від | |||
| Мінімальна сума | |||
|- | |||
| Зарплата до | |||
| Максимальна сума | |||
|- | |||
| Валюта | |||
| UAH, USD, EUR або інша | |||
|- | |||
| Опис вакансії | |||
| Загальна інформація про роботу | |||
|- | |||
| Вимоги | |||
| Навички, досвід, освіта | |||
|- | |||
| Обов’язки | |||
| Що потрібно буде робити | |||
|- | |||
| Переваги | |||
| Бонуси, умови, соцпакет | |||
|- | |||
| Контактна особа | |||
| Представник роботодавця | |||
|- | |||
| Статус | |||
| Поточний стан вакансії | |||
|- | |||
| Термін актуальності | |||
| До якої дати вакансія показується як активна | |||
|} | |||
== Статуси вакансій == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Чернетка | |||
| Вакансія створюється, але ще не опублікована | |||
|- | |||
| На модерації | |||
| Вакансія очікує перевірки адміністрацією | |||
|- | |||
| Активна | |||
| Вакансія доступна кандидатам | |||
|- | |||
| Призупинена | |||
| Роботодавець тимчасово приховав вакансію | |||
|- | |||
| Завершена | |||
| Пошук кандидата завершено | |||
|- | |||
| Архівна | |||
| Вакансія більше неактивна, але зберігається в системі | |||
|- | |||
| Відхилена | |||
| Вакансія не пройшла модерацію | |||
|} | |||
== База «Резюме кандидатів» == | |||
База резюме містить профілі кандидатів. | |||
== Колонки бази резюме == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Ім’я кандидата | |||
|- | |||
| Позиція | |||
| Посада, яку шукає кандидат | |||
|- | |||
| Категорія | |||
| Галузь або напрям роботи | |||
|- | |||
| Регіон | |||
| Місто або область | |||
|- | |||
| Досвід роботи | |||
| Загальний досвід або опис попередніх місць роботи | |||
|- | |||
| Освіта | |||
| Навчальні заклади, курси, сертифікати | |||
|- | |||
| Очікувана зарплата | |||
| Бажаний рівень оплати | |||
|- | |||
| Тип зайнятості | |||
| Повна, часткова, віддалена тощо | |||
|- | |||
| Видимість | |||
| Публічне або приховане | |||
|} | |||
== Поля резюме == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ кандидата | |||
| Повне ім’я | |||
|- | |||
| Бажана посада | |||
| Посада, яку шукає кандидат | |||
|- | |||
| Категорія | |||
| Галузь або професійний напрям | |||
|- | |||
| Регіон | |||
| Місце проживання або бажане місто роботи | |||
|- | |||
| Формат роботи | |||
| Офіс, віддалено, гібридно | |||
|- | |||
| Тип зайнятості | |||
| Повна, часткова, стажування, фріланс | |||
|- | |||
| Очікувана зарплата | |||
| Бажаний рівень оплати | |||
|- | |||
| Досвід роботи | |||
| Опис досвіду | |||
|- | |||
| Освіта | |||
| Освіта, курси, сертифікати | |||
|- | |||
| Навички | |||
| Професійні навички | |||
|- | |||
| Про себе | |||
| Короткий опис кандидата | |||
|- | |||
| Фото профілю | |||
| Опціонально | |||
|- | |||
| Контакти | |||
| Телефон, email або інші канали зв’язку | |||
|- | |||
| Видимість | |||
| Публічне або приховане резюме | |||
|} | |||
== Видимість резюме == | |||
Кандидат має контролювати видимість резюме. | |||
{| class="wikitable" style="width:100%;" | |||
! Видимість | |||
! Значення | |||
|- | |||
| Публічне | |||
| Резюме видно роботодавцям у пошуку | |||
|- | |||
| Приховане | |||
| Резюме не видно в пошуку, але кандидат може відгукуватися на вакансії | |||
|} | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
'''Важливо.''' Приховане резюме не повинно показуватися в публічному пошуку роботодавців, але кандидат може використовувати його для відгуку на вакансію. | |||
</div> | |||
== Відгуки на вакансії == | |||
Відгук — це заявка кандидата на конкретну вакансію. | |||
== Процес відгуку == | |||
# Кандидат відкриває вакансію. | |||
# Натискає кнопку '''«Відгукнутися»'''. | |||
# Обирає своє резюме. | |||
# За потреби додає супровідний текст. | |||
# Система створює відгук. | |||
# Роботодавець отримує сповіщення. | |||
# Відгук з’являється в кабінеті роботодавця. | |||
# Кандидат бачить статус відгуку у своєму кабінеті. | |||
== Поля відгуку == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Вакансія | |||
| На яку вакансію відгукнувся кандидат | |||
|- | |||
| Кандидат | |||
| Хто відгукнувся | |||
|- | |||
| Резюме | |||
| Яке резюме надіслано роботодавцю | |||
|- | |||
| Супровідний текст | |||
| Коротке повідомлення кандидата | |||
|- | |||
| Дата відгуку | |||
| Коли відгук створено | |||
|- | |||
| Статус | |||
| Новий, переглянуто, запрошено, відхилено тощо | |||
|} | |||
== Статуси відгуку == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Новий | |||
| Відгук створено, роботодавець ще не переглянув | |||
|- | |||
| Переглянуто | |||
| Роботодавець відкрив відгук | |||
|- | |||
| Запрошено | |||
| Кандидата запросили на співбесіду або наступний етап | |||
|- | |||
| Відхилено | |||
| Кандидат не підходить по вакансії | |||
|- | |||
| Прийнято | |||
| Кандидата обрано | |||
|- | |||
| Архів | |||
| Відгук більше неактивний | |||
|} | |||
== Особистий кабінет роботодавця == | |||
Кабінет роботодавця потрібен для керування вакансіями та відгуками. | |||
== Функції кабінету роботодавця == | |||
Роботодавець повинен мати можливість: | |||
* створити профіль компанії; | |||
* створювати вакансії; | |||
* редагувати вакансії; | |||
* призупиняти вакансії; | |||
* завершувати вакансії; | |||
* переглядати відгуки кандидатів; | |||
* відкривати резюме кандидатів; | |||
* змінювати статус відгуку; | |||
* шукати резюме; | |||
* переглядати статистику по вакансіях; | |||
* замовляти преміум-послуги, якщо вони реалізовані. | |||
== Особистий кабінет кандидата == | |||
Кабінет кандидата потрібен для керування резюме та відгуками. | |||
== Функції кабінету кандидата == | |||
Кандидат повинен мати можливість: | |||
* створити резюме; | |||
* редагувати резюме; | |||
* змінювати видимість резюме; | |||
* переглядати список своїх відгуків; | |||
* бачити статуси відгуків; | |||
* зберігати обрані вакансії, опціонально; | |||
* отримувати рекомендації вакансій, опціонально; | |||
* отримувати email-сповіщення про нові вакансії. | |||
== Пошук вакансій == | |||
Пошук вакансій має працювати по ключових словах і фільтрах. | |||
== | == Поля пошуку вакансій == | ||
Пошук повинен перевіряти: | |||
* назву вакансії; | |||
* | |||
* опис вакансії; | * опис вакансії; | ||
* вимоги; | * вимоги; | ||
* | * обов’язки; | ||
* статус: | * назву компанії. | ||
** | |||
** на | == Фільтри вакансій == | ||
** | |||
* | Система повинна підтримувати фільтрацію за: | ||
* | |||
* категорією; | |||
* регіоном; | |||
* містом; | |||
* типом зайнятості; | |||
* форматом роботи; | |||
* зарплатою від; | |||
* зарплатою до; | |||
* датою публікації; | |||
* компанією. | |||
== Сортування вакансій == | |||
Сортування вакансій може виконуватися: | |||
* за датою публікації; | |||
* за зарплатою зростання; | |||
* за зарплатою спадання; | |||
* за релевантністю; | |||
* за преміум-статусом. | |||
== Пошук резюме == | |||
Пошук резюме потрібен роботодавцям. | |||
== Поля пошуку резюме == | |||
Пошук повинен перевіряти: | |||
* бажану посаду; | |||
* навички; | |||
* досвід; | |||
* освіту; | |||
* опис кандидата. | |||
== Фільтри резюме == | |||
Система повинна підтримувати фільтрацію за: | |||
* категорією; | |||
* регіоном; | |||
* типом зайнятості; | |||
* форматом роботи; | |||
* очікуваною зарплатою; | |||
* досвідом роботи; | |||
* видимістю, для адміністратора. | |||
== Модерація == | |||
Модерація потрібна для контролю якості вакансій, резюме і профілів роботодавців. | |||
== Що може модеруватися == | |||
* вакансії; | |||
* резюме; | |||
* компанії; | |||
* фото профілю; | |||
* опис вакансії; | |||
* контактні дані; | |||
* преміум-публікації. | |||
== Дії модератора == | |||
Модератор повинен мати можливість: | |||
* схвалити вакансію; | |||
* відхилити вакансію; | |||
* вказати причину відхилення; | |||
* приховати резюме; | |||
* заблокувати роботодавця або кандидата; | |||
* повернути матеріал на редагування; | |||
* переглянути історію змін. | |||
== Автоматична архівація вакансій == | |||
Вакансія повинна автоматично переходити в архів після завершення строку актуальності. | |||
Наприклад: | |||
<pre> | |||
Термін актуальності вакансії = 30 днів | |||
</pre> | |||
Після завершення строку система повинна: | |||
* змінити статус вакансії на '''«Архівна»'''; | |||
* прибрати її з публічного пошуку; | |||
* залишити в кабінеті роботодавця; | |||
* надіслати роботодавцю повідомлення; | |||
* запропонувати поновити вакансію. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Архівні, завершені або відхилені вакансії не повинні показуватися кандидатам як активні. | |||
</div> | |||
== Email-нотифікації == | |||
Модуль має підтримувати email-сповіщення. | |||
== Події для кандидата == | |||
Кандидату бажано надсилати повідомлення, коли: | |||
* резюме створено; | |||
* резюме схвалено або відхилено; | |||
* з’явилася нова вакансія за збереженим пошуком; | |||
* роботодавець переглянув відгук; | |||
* статус відгуку змінено; | |||
* кандидата запросили на співбесіду. | |||
== Події для роботодавця == | |||
Роботодавцю бажано надсилати повідомлення, коли: | |||
* вакансію створено; | |||
* вакансію схвалено або відхилено; | |||
* отримано новий відгук; | |||
* вакансія скоро завершить строк дії; | |||
* вакансію архівовано; | |||
* кандидат оновив резюме, якщо він уже відгукувався. | |||
== Преміум-послуги == | |||
Опціонально модуль може підтримувати платні або службові преміум-послуги. | |||
== Приклади преміум-послуг == | |||
* підняття вакансії у списку; | |||
* виділення вакансії кольором або рамкою; | |||
* закріплення вакансії вгорі списку; | |||
* показ вакансії в рекомендованих; | |||
* розширена статистика; | |||
* доступ до бази резюме; | |||
* брендована сторінка компанії. | |||
== | == Поля преміум-послуги == | ||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва послуги | |||
| Наприклад: підняття вакансії | |||
|- | |||
| Тип | |||
| Виділення, підняття, закріплення, доступ | |||
|- | |||
| Строк дії | |||
| Скільки днів працює послуга | |||
|- | |||
| Вартість | |||
| Ціна послуги | |||
|- | |||
| Статус | |||
| Активна або неактивна | |||
|} | |||
== Збережені пошуки == | |||
Опціонально кандидат може зберегти пошуковий запит. | |||
Збережений пошук може містити: | |||
* | * категорію; | ||
* регіон; | * регіон; | ||
* тип зайнятості; | * тип зайнятості; | ||
* | * зарплату; | ||
* | * ключові слова. | ||
* | |||
Система може надсилати кандидату нові вакансії, які відповідають збереженому пошуку. | |||
== Обрані вакансії == | |||
Кандидат може додавати вакансії в обране. | |||
Обране дозволяє: | |||
* зберегти цікаву вакансію; | |||
* повернутися до неї пізніше; | |||
* порівняти кілька вакансій; | |||
* швидше відгукнутися. | |||
== Звіти == | |||
== Звіт «Вакансії за період» == | |||
Звіт показує створені вакансії за вибраний період. | |||
У звіті потрібно відображати: | |||
* дату; | |||
* кількість створених вакансій; | |||
* кількість активних вакансій; | |||
* кількість вакансій на модерації; | |||
* кількість завершених вакансій; | |||
* кількість архівних вакансій. | |||
== Звіт «Резюме за період» == | |||
Звіт показує активність кандидатів. | |||
У звіті потрібно відображати: | |||
* | * дату; | ||
* | * кількість створених резюме; | ||
* | * кількість публічних резюме; | ||
* кількість прихованих резюме; | |||
* кількість оновлених резюме. | |||
== | == Звіт «Відгуки кандидатів» == | ||
Звіт показує активність відгуків. | |||
У звіті потрібно відображати: | |||
* вакансію; | |||
* компанію; | |||
* кількість відгуків; | |||
* кількість переглянутих; | |||
* кількість запрошених; | |||
* кількість відхилених; | |||
* кількість прийнятих. | |||
== Звіт «Активність роботодавців» == | |||
Звіт показує, які роботодавці найактивніше користуються платформою. | |||
У звіті потрібно відображати: | |||
* компанію; | |||
* кількість вакансій; | |||
* кількість активних вакансій; | |||
* кількість отриманих відгуків; | |||
* дату останньої публікації. | |||
== | == Звіт «Популярні категорії» == | ||
Звіт показує найбільш активні напрями. | |||
У звіті потрібно відображати: | |||
* категорію; | |||
* кількість вакансій; | |||
* кількість резюме; | |||
* кількість відгуків; | |||
* середню зарплату, якщо використовується. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко та без зайвого перезавантаження сторінок. | |||
Через AJAX мають працювати: | |||
* створення вакансії; | |||
* створення резюме; | |||
* пошук вакансій; | |||
* пошук резюме; | |||
* фільтрація; | |||
* сортування; | |||
* відгук на вакансію; | |||
* зміна статусу відгуку; | |||
* додавання вакансії в обране; | |||
* зміна видимості резюме; | |||
* модерація; | |||
* оновлення списків і звітів. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі зміни. | |||
* | Журнал змін має зберігати: | ||
* | |||
* хто створив вакансію; | |||
* хто змінив вакансію; | |||
* хто відправив вакансію на модерацію; | |||
* хто схвалив або відхилив вакансію; | |||
* хто створив резюме; | |||
* хто змінив видимість резюме; | |||
* хто створив відгук; | |||
* хто змінив статус відгуку; | |||
* хто архівував вакансію; | |||
* хто активував преміум-послугу; | |||
* дату й час зміни; | |||
* старе та нове значення, якщо це можливо. | |||
== Права доступу == | |||
Модуль має підтримувати розмежування прав. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Гість | |||
| Переглядає активні вакансії, користується пошуком і фільтрами | |||
|- | |||
| Кандидат | |||
| Створює резюме, відгукується на вакансії, бачить статуси відгуків | |||
|- | |||
| Роботодавець | |||
| Створює вакансії, переглядає відгуки, шукає резюме | |||
|- | |||
| Модератор | |||
| Перевіряє вакансії, резюме, компанії та керує статусами | |||
|- | |||
| Адміністратор | |||
| Налаштовує довідники, права, категорії, регіони, преміум-послуги | |||
|- | |||
| Керівник | |||
| Переглядає статистику, активність і звіти платформи | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | {| class="wikitable" style="width:100%;" | ||
! Параметр | ! Параметр | ||
! Опис | ! Опис | ||
| Рядок 163: | Рядок 885: | ||
| K2 Cloud ERP на Python або PHP | | K2 Cloud ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
| PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
| Фронтенд | | Фронтенд | ||
| HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |||
| AJAX | |||
| Fetch API або Axios | |||
|- | |- | ||
| UI-компоненти | | UI-компоненти | ||
| DataTables для адмінки, Select2, Datepicker | | DataTables для адмінки, Select2, Datepicker | ||
|- | |||
| Файли | |||
| Фото профілю, логотип компанії, PDF-резюме, якщо потрібно | |||
|- | |- | ||
| Друк | | Друк | ||
| Генерація резюме в PDF, опціонально | | Генерація резюме в PDF, опціонально | ||
|- | |||
| Email | |||
| Нотифікації кандидатам і роботодавцям | |||
|} | |} | ||
== | == Рекомендовані сутності бази даних == | ||
Для реалізації задачі доцільно передбачити такі сутності: | |||
* користувачі; | |||
* ролі користувачів; | |||
* кандидати; | |||
* роботодавці; | |||
* компанії; | |||
* категорії вакансій; | |||
* регіони; | |||
* типи зайнятості; | |||
* вакансії; | |||
* резюме; | |||
* досвід роботи; | |||
* освіта; | |||
* навички; | |||
* відгуки; | |||
* статуси відгуків; | |||
* обрані вакансії; | |||
* збережені пошуки; | |||
* модерація; | |||
* преміум-послуги; | |||
* email-сповіщення; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
{| class="wikitable" | У межах атестації потрібно продемонструвати робочий сценарій. | ||
Мінімальний сценарій: | |||
# створити категорії вакансій; | |||
# створити регіони; | |||
# створити типи зайнятості; | |||
# створити роботодавця; | |||
# створити профіль компанії; | |||
# створити вакансію; | |||
# вказати зарплату, опис, вимоги, тип зайнятості і регіон; | |||
# відправити вакансію на модерацію; | |||
# схвалити вакансію; | |||
# перевірити, що вакансія стала активною; | |||
# створити кандидата; | |||
# створити резюме; | |||
# зробити резюме публічним; | |||
# знайти вакансію через пошук; | |||
# відфільтрувати вакансії за категорією, регіоном і зарплатою; | |||
# відгукнутися на вакансію; | |||
# переглянути відгук у кабінеті роботодавця; | |||
# змінити статус відгуку на '''«Переглянуто»'''; | |||
# змінити статус відгуку на '''«Запрошено»'''; | |||
# перевірити статус відгуку в кабінеті кандидата; | |||
# створити прострочену вакансію для тесту; | |||
# перевірити автоматичну архівацію; | |||
# сформувати звіт вакансій за період; | |||
# сформувати звіт резюме за період; | |||
# сформувати звіт відгуків; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | ! Критерій | ||
! Бали | ! Бали | ||
! Що перевіряється | |||
|- | |- | ||
| Реалізація бази вакансій і резюме | | Реалізація бази вакансій і резюме | ||
| 20 | | 20 | ||
| Категорії, регіони, типи зайнятості, вакансії, резюме, компанії, кандидати | |||
|- | |- | ||
| Пошук, фільтрація і відгуки | | Пошук, фільтрація і відгуки | ||
| 20 | | 20 | ||
| Пошук вакансій і резюме, фільтри, відгук кандидата, статуси відгуків | |||
|- | |- | ||
| Особистий кабінет роботодавця і кандидата | | Особистий кабінет роботодавця і кандидата | ||
| 20 | | 20 | ||
| Керування вакансіями, резюме, відгуками, статусами і видимістю | |||
|- | |- | ||
| Нотифікації і архівація вакансій | | Нотифікації і архівація вакансій | ||
| 20 | | 20 | ||
| Email-повідомлення, завершення строку актуальності, архівування вакансій | |||
|- | |- | ||
| Інтерактивність через AJAX | | Інтерактивність через AJAX | ||
| 20 | | 20 | ||
| Створення, пошук, фільтрація, відгуки, статуси, модерація без перезавантаження | |||
|- | |||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Модуль повністю працює: вакансії, резюме, відгуки, кабінети, пошук, модерація, архівація, нотифікації й AJAX реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес пошуку роботи | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: вакансії, резюме, відгуки, пошук, кабінети або статуси | |||
|} | |} | ||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити категорію вакансій; | |||
* неможливо створити вакансію; | |||
* вакансія не має роботодавця; | |||
* вакансія не має статусу; | |||
* активна вакансія не показується в пошуку; | |||
* архівна або відхилена вакансія показується як активна; | |||
* неможливо створити резюме; | |||
* приховане резюме показується роботодавцям у пошуку; | |||
* кандидат не може відгукнутися на вакансію; | |||
* роботодавець не бачить відгуків по своїй вакансії; | |||
* статус відгуку не зберігається; | |||
* фільтрація за категорією, регіоном або зарплатою не працює; | |||
* автоматична архівація вакансій не працює, якщо вона заявлена; | |||
* email-сповіщення не надсилаються, якщо вони заявлені; | |||
* зміни вакансій, резюме або відгуків не логуються; | |||
* звіти не відповідають фактичним даним. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл сайту роботи: роботодавець → вакансія → кандидат → резюме → пошук → відгук → перегляд роботодавцем → статус → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль сайту пошуку роботи в K2 ERP. | |||
Модуль має підтримувати роботодавців, кандидатів, компанії, категорії вакансій, регіони, типи зайнятості, вакансії, резюме, відгуки, статуси відгуків, особисті кабінети, пошук, фільтрацію, модерацію, автоматичну архівацію, email-нотифікації, преміум-послуги, звіти, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
Сайт пошуку роботи | Сайт пошуку роботи потрібен рекрутинговим агентствам, HR-порталам, біржам фрілансу, корпоративним порталам вакансій, галузевим платформам і компаніям, які хочуть автоматизувати підбір персоналу. | ||
Такий модуль допомагає швидко з’єднувати кандидатів і роботодавців, структурувати вакансії та резюме, контролювати відгуки, бачити активність користувачів і підвищувати ефективність рекрутингу. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль платформи пошуку роботи | |||
|- | |||
| Які довідники потрібні? | |||
| Категорії вакансій, регіони, типи зайнятості | |||
|- | |||
| Які головні об’єкти? | |||
| Вакансії, резюме і відгуки кандидатів | |||
|- | |||
| Хто користується системою? | |||
| Кандидати, роботодавці, модератори, адміністратори | |||
|- | |||
| Що робить кандидат? | |||
| Створює резюме, шукає вакансії, відгукується | |||
|- | |||
| Що робить роботодавець? | |||
| Створює вакансії, шукає резюме, переглядає відгуки | |||
|- | |||
| Які звіти потрібні? | |||
| Вакансії, резюме, відгуки, активність роботодавців, популярні категорії | |||
|- | |||
| Що є критичною вимогою? | |||
| Повний цикл: вакансія → резюме → пошук → відгук → статус | |||
|} | |||
== Див. також == | |||
* | * [[K2 Cloud ERP|K2 ERP]] | ||
* | * [[K2 ERP]] | ||
* | * [[Атестаційні завдання K2 ERP]] | ||
* [[HRM]] | |||
* [[CRM]] | |||
* [[Рекрутинг]] | |||
* [[Вакансії]] | |||
* [[Резюме]] | |||
* [[Сайт роботи]] | |||
* [[Дошка оголошень]] | |||
* [[Особистий кабінет]] | |||
* [[Модерація]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Сайт роботи]] | |||
[[Категорія:HRM]] | |||
[[Категорія:Рекрутинг]] | |||
[[Категорія:Вакансії]] | |||
[[Категорія:Корпоративна Wiki]] | |||
Поточна версія на 19:16, 1 травня 2026
Атестаційне завдання K2 ERP — Сайт роботи — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля платформи пошуку роботи: вакансій, резюме, відгуків кандидатів, кабінетів роботодавців і шукачів, пошуку, фільтрації, модерації та нотифікацій.
Модуль має забезпечувати повний цикл роботи job-платформи: роботодавець створює вакансію, кандидат створює резюме, система дозволяє шукати вакансії й резюме, кандидат відгукується на вакансію, роботодавець переглядає відгуки, а адміністрація контролює якість контенту.
Коротко. Потрібно реалізувати сайт пошуку роботи: вакансії, резюме, відгуки, кабінет роботодавця, кабінет кандидата, пошук, фільтри, модерація, архівація вакансій, email-сповіщення та базові преміум-послуги.
Назва завдання
Модуль платформи пошуку роботи: вакансії, резюме, відгуки кандидатів.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації роботи сайту пошуку роботи та підбору персоналу.
Система повинна дозволяти:
- реєструвати роботодавців;
- реєструвати кандидатів;
- вести довідник категорій вакансій;
- вести довідник регіонів;
- вести типи зайнятості;
- створювати вакансії;
- створювати резюме;
- публікувати вакансії після модерації або одразу;
- публікувати резюме з налаштуванням видимості;
- виконувати пошук вакансій;
- виконувати пошук резюме;
- фільтрувати вакансії за категорією, регіоном, зарплатою і типом зайнятості;
- фільтрувати резюме за посадою, регіоном, досвідом і очікуваною зарплатою;
- дозволяти кандидатам відгукуватися на вакансії;
- дозволяти роботодавцям переглядати відгуки;
- вести статуси відгуків;
- автоматично архівувати вакансії після завершення строку актуальності;
- надсилати email-сповіщення;
- підтримувати особисті кабінети роботодавця і кандидата;
- підтримувати преміум-послуги для вакансій;
- формувати звіти по вакансіях, резюме, відгуках і активності користувачів.
Головний принцип. Сайт роботи має з’єднувати дві сторони: роботодавця, який шукає працівника, і кандидата, який шукає роботу. Тому ключова логіка модуля — це вакансії, резюме, пошук і відгуки.
Реальний бізнес-контекст
Компанія створює сайт для пошуку роботи, рекрутингу або внутрішнього підбору персоналу.
На платформі працюють дві основні групи користувачів:
- роботодавці, які публікують вакансії;
- кандидати, які створюють резюме та відгукуються на вакансії.
Адміністрація платформи контролює якість контенту, модерує вакансії й резюме, стежить за активністю користувачів, керує категоріями, регіонами та преміум-послугами.
Такий модуль може використовуватися для:
- публічного сайту пошуку роботи;
- рекрутингової агенції;
- біржі фрілансу;
- корпоративного порталу вакансій;
- внутрішнього HR-порталу компанії;
- галузевої платформи пошуку спеціалістів.
Основний бізнес-процес
Типовий процес роботи сайту пошуку роботи виглядає так:
- адміністратор створює категорії вакансій, регіони і типи зайнятості;
- роботодавець реєструється на сайті;
- роботодавець створює компанію або профіль роботодавця;
- роботодавець публікує вакансію;
- вакансія переходить на модерацію або стає активною;
- кандидат реєструється на сайті;
- кандидат створює резюме;
- кандидат шукає вакансії через пошук і фільтри;
- кандидат відкриває вакансію і натискає «Відгукнутися»;
- роботодавець бачить відгук у своєму кабінеті;
- роботодавець змінює статус відгуку;
- кандидат бачить статус свого відгуку;
- після завершення строку актуальності вакансія архівується;
- дані потрапляють у звіти.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Кандидати | Користувачі, які шукають роботу |
| Роботодавці | Компанії або представники компаній, які шукають працівників |
| Компанії | Профілі роботодавців |
| Категорії вакансій | Галузі та напрями роботи |
| Регіони | Географія вакансій і резюме |
| Типи зайнятості | Повна, часткова, віддалена робота, стажування тощо |
| Вакансії | Оголошення роботодавців про пошук працівників |
| Резюме | Профілі кандидатів із досвідом, освітою і навичками |
| Відгуки | Заявки кандидатів на вакансії |
| Статуси відгуків | Новий, переглянуто, запрошено, відхилено, прийнято |
| Модерація | Перевірка вакансій, резюме і компаній |
| Нотифікації | Email-повідомлення про нові вакансії, відгуки і статуси |
| Преміум-послуги | Підняття, виділення або просування вакансій |
| Звіти | Аналітика по вакансіях, резюме, відгуках і користувачах |
Довідник «Категорії вакансій»
Категорії вакансій потрібні для структурування вакансій і резюме.
Приклади категорій
- IT;
- маркетинг;
- продажі;
- будівництво;
- медицина;
- освіта;
- логістика;
- виробництво;
- фінанси;
- бухгалтерія;
- адміністративний персонал;
- HoReCa;
- робочі спеціальності.
Поля категорії
| Поле | Опис |
|---|---|
| Назва категорії | Наприклад: IT, маркетинг, медицина, продажі |
| Батьківська категорія | Опціонально, для побудови ієрархії |
| Опис | Короткий опис напряму |
| Активність | Чи доступна категорія для вибору |
Довідник «Регіони»
Регіони потрібні для географічного пошуку вакансій і резюме.
Поля регіону
| Поле | Опис |
|---|---|
| Країна | Країна розміщення вакансії або кандидата |
| Область | Область або регіон |
| Місто | Населений пункт |
| Район | Опціонально |
| Активність | Чи доступний регіон для вибору |
Довідник «Типи зайнятості»
Тип зайнятості допомагає кандидату й роботодавцю швидше знайти відповідні пропозиції.
Приклади типів зайнятості
- повна зайнятість;
- часткова зайнятість;
- віддалена робота;
- гібридна робота;
- стажування;
- проєктна робота;
- фріланс;
- тимчасова робота.
База «Вакансії»
База вакансій містить оголошення роботодавців про пошук працівників.
Колонки бази вакансій
| Колонка | Опис |
|---|---|
| Назва вакансії | Посада або коротка назва роботи |
| Компанія | Роботодавець, який опублікував вакансію |
| Категорія | Галузь або напрям роботи |
| Регіон | Місто або область |
| Зарплата від | Мінімальна зарплата |
| Зарплата до | Максимальна зарплата |
| Тип зайнятості | Повна, часткова, віддалена тощо |
| Статус | Активна, на модерації, завершена, архівна |
| Дата публікації | Коли вакансія стала активною |
| Термін актуальності | До якої дати вакансія активна |
Поля вакансії
| Поле | Опис |
|---|---|
| Назва вакансії | Наприклад: Python Developer, бухгалтер, менеджер продажів |
| Компанія | Роботодавець |
| Категорія | Напрям роботи |
| Регіон | Місце роботи |
| Формат роботи | Офіс, віддалено, гібридно |
| Тип зайнятості | Повна, часткова, стажування, фріланс |
| Зарплата від | Мінімальна сума |
| Зарплата до | Максимальна сума |
| Валюта | UAH, USD, EUR або інша |
| Опис вакансії | Загальна інформація про роботу |
| Вимоги | Навички, досвід, освіта |
| Обов’язки | Що потрібно буде робити |
| Переваги | Бонуси, умови, соцпакет |
| Контактна особа | Представник роботодавця |
| Статус | Поточний стан вакансії |
| Термін актуальності | До якої дати вакансія показується як активна |
Статуси вакансій
| Статус | Значення |
|---|---|
| Чернетка | Вакансія створюється, але ще не опублікована |
| На модерації | Вакансія очікує перевірки адміністрацією |
| Активна | Вакансія доступна кандидатам |
| Призупинена | Роботодавець тимчасово приховав вакансію |
| Завершена | Пошук кандидата завершено |
| Архівна | Вакансія більше неактивна, але зберігається в системі |
| Відхилена | Вакансія не пройшла модерацію |
База «Резюме кандидатів»
База резюме містить профілі кандидатів.
Колонки бази резюме
| Колонка | Опис |
|---|---|
| ПІБ | Ім’я кандидата |
| Позиція | Посада, яку шукає кандидат |
| Категорія | Галузь або напрям роботи |
| Регіон | Місто або область |
| Досвід роботи | Загальний досвід або опис попередніх місць роботи |
| Освіта | Навчальні заклади, курси, сертифікати |
| Очікувана зарплата | Бажаний рівень оплати |
| Тип зайнятості | Повна, часткова, віддалена тощо |
| Видимість | Публічне або приховане |
Поля резюме
| Поле | Опис |
|---|---|
| ПІБ кандидата | Повне ім’я |
| Бажана посада | Посада, яку шукає кандидат |
| Категорія | Галузь або професійний напрям |
| Регіон | Місце проживання або бажане місто роботи |
| Формат роботи | Офіс, віддалено, гібридно |
| Тип зайнятості | Повна, часткова, стажування, фріланс |
| Очікувана зарплата | Бажаний рівень оплати |
| Досвід роботи | Опис досвіду |
| Освіта | Освіта, курси, сертифікати |
| Навички | Професійні навички |
| Про себе | Короткий опис кандидата |
| Фото профілю | Опціонально |
| Контакти | Телефон, email або інші канали зв’язку |
| Видимість | Публічне або приховане резюме |
Видимість резюме
Кандидат має контролювати видимість резюме.
| Видимість | Значення |
|---|---|
| Публічне | Резюме видно роботодавцям у пошуку |
| Приховане | Резюме не видно в пошуку, але кандидат може відгукуватися на вакансії |
Важливо. Приховане резюме не повинно показуватися в публічному пошуку роботодавців, але кандидат може використовувати його для відгуку на вакансію.
Відгуки на вакансії
Відгук — це заявка кандидата на конкретну вакансію.
Процес відгуку
- Кандидат відкриває вакансію.
- Натискає кнопку «Відгукнутися».
- Обирає своє резюме.
- За потреби додає супровідний текст.
- Система створює відгук.
- Роботодавець отримує сповіщення.
- Відгук з’являється в кабінеті роботодавця.
- Кандидат бачить статус відгуку у своєму кабінеті.
Поля відгуку
| Поле | Опис |
|---|---|
| Вакансія | На яку вакансію відгукнувся кандидат |
| Кандидат | Хто відгукнувся |
| Резюме | Яке резюме надіслано роботодавцю |
| Супровідний текст | Коротке повідомлення кандидата |
| Дата відгуку | Коли відгук створено |
| Статус | Новий, переглянуто, запрошено, відхилено тощо |
Статуси відгуку
| Статус | Значення |
|---|---|
| Новий | Відгук створено, роботодавець ще не переглянув |
| Переглянуто | Роботодавець відкрив відгук |
| Запрошено | Кандидата запросили на співбесіду або наступний етап |
| Відхилено | Кандидат не підходить по вакансії |
| Прийнято | Кандидата обрано |
| Архів | Відгук більше неактивний |
Особистий кабінет роботодавця
Кабінет роботодавця потрібен для керування вакансіями та відгуками.
Функції кабінету роботодавця
Роботодавець повинен мати можливість:
- створити профіль компанії;
- створювати вакансії;
- редагувати вакансії;
- призупиняти вакансії;
- завершувати вакансії;
- переглядати відгуки кандидатів;
- відкривати резюме кандидатів;
- змінювати статус відгуку;
- шукати резюме;
- переглядати статистику по вакансіях;
- замовляти преміум-послуги, якщо вони реалізовані.
Особистий кабінет кандидата
Кабінет кандидата потрібен для керування резюме та відгуками.
Функції кабінету кандидата
Кандидат повинен мати можливість:
- створити резюме;
- редагувати резюме;
- змінювати видимість резюме;
- переглядати список своїх відгуків;
- бачити статуси відгуків;
- зберігати обрані вакансії, опціонально;
- отримувати рекомендації вакансій, опціонально;
- отримувати email-сповіщення про нові вакансії.
Пошук вакансій
Пошук вакансій має працювати по ключових словах і фільтрах.
Поля пошуку вакансій
Пошук повинен перевіряти:
- назву вакансії;
- опис вакансії;
- вимоги;
- обов’язки;
- назву компанії.
Фільтри вакансій
Система повинна підтримувати фільтрацію за:
- категорією;
- регіоном;
- містом;
- типом зайнятості;
- форматом роботи;
- зарплатою від;
- зарплатою до;
- датою публікації;
- компанією.
Сортування вакансій
Сортування вакансій може виконуватися:
- за датою публікації;
- за зарплатою зростання;
- за зарплатою спадання;
- за релевантністю;
- за преміум-статусом.
Пошук резюме
Пошук резюме потрібен роботодавцям.
Поля пошуку резюме
Пошук повинен перевіряти:
- бажану посаду;
- навички;
- досвід;
- освіту;
- опис кандидата.
Фільтри резюме
Система повинна підтримувати фільтрацію за:
- категорією;
- регіоном;
- типом зайнятості;
- форматом роботи;
- очікуваною зарплатою;
- досвідом роботи;
- видимістю, для адміністратора.
Модерація
Модерація потрібна для контролю якості вакансій, резюме і профілів роботодавців.
Що може модеруватися
- вакансії;
- резюме;
- компанії;
- фото профілю;
- опис вакансії;
- контактні дані;
- преміум-публікації.
Дії модератора
Модератор повинен мати можливість:
- схвалити вакансію;
- відхилити вакансію;
- вказати причину відхилення;
- приховати резюме;
- заблокувати роботодавця або кандидата;
- повернути матеріал на редагування;
- переглянути історію змін.
Автоматична архівація вакансій
Вакансія повинна автоматично переходити в архів після завершення строку актуальності.
Наприклад:
Термін актуальності вакансії = 30 днів
Після завершення строку система повинна:
- змінити статус вакансії на «Архівна»;
- прибрати її з публічного пошуку;
- залишити в кабінеті роботодавця;
- надіслати роботодавцю повідомлення;
- запропонувати поновити вакансію.
Критично. Архівні, завершені або відхилені вакансії не повинні показуватися кандидатам як активні.
Email-нотифікації
Модуль має підтримувати email-сповіщення.
Події для кандидата
Кандидату бажано надсилати повідомлення, коли:
- резюме створено;
- резюме схвалено або відхилено;
- з’явилася нова вакансія за збереженим пошуком;
- роботодавець переглянув відгук;
- статус відгуку змінено;
- кандидата запросили на співбесіду.
Події для роботодавця
Роботодавцю бажано надсилати повідомлення, коли:
- вакансію створено;
- вакансію схвалено або відхилено;
- отримано новий відгук;
- вакансія скоро завершить строк дії;
- вакансію архівовано;
- кандидат оновив резюме, якщо він уже відгукувався.
Преміум-послуги
Опціонально модуль може підтримувати платні або службові преміум-послуги.
Приклади преміум-послуг
- підняття вакансії у списку;
- виділення вакансії кольором або рамкою;
- закріплення вакансії вгорі списку;
- показ вакансії в рекомендованих;
- розширена статистика;
- доступ до бази резюме;
- брендована сторінка компанії.
Поля преміум-послуги
| Поле | Опис |
|---|---|
| Назва послуги | Наприклад: підняття вакансії |
| Тип | Виділення, підняття, закріплення, доступ |
| Строк дії | Скільки днів працює послуга |
| Вартість | Ціна послуги |
| Статус | Активна або неактивна |
Збережені пошуки
Опціонально кандидат може зберегти пошуковий запит.
Збережений пошук може містити:
- категорію;
- регіон;
- тип зайнятості;
- зарплату;
- ключові слова.
Система може надсилати кандидату нові вакансії, які відповідають збереженому пошуку.
Обрані вакансії
Кандидат може додавати вакансії в обране.
Обране дозволяє:
- зберегти цікаву вакансію;
- повернутися до неї пізніше;
- порівняти кілька вакансій;
- швидше відгукнутися.
Звіти
Звіт «Вакансії за період»
Звіт показує створені вакансії за вибраний період.
У звіті потрібно відображати:
- дату;
- кількість створених вакансій;
- кількість активних вакансій;
- кількість вакансій на модерації;
- кількість завершених вакансій;
- кількість архівних вакансій.
Звіт «Резюме за період»
Звіт показує активність кандидатів.
У звіті потрібно відображати:
- дату;
- кількість створених резюме;
- кількість публічних резюме;
- кількість прихованих резюме;
- кількість оновлених резюме.
Звіт «Відгуки кандидатів»
Звіт показує активність відгуків.
У звіті потрібно відображати:
- вакансію;
- компанію;
- кількість відгуків;
- кількість переглянутих;
- кількість запрошених;
- кількість відхилених;
- кількість прийнятих.
Звіт «Активність роботодавців»
Звіт показує, які роботодавці найактивніше користуються платформою.
У звіті потрібно відображати:
- компанію;
- кількість вакансій;
- кількість активних вакансій;
- кількість отриманих відгуків;
- дату останньої публікації.
Звіт «Популярні категорії»
Звіт показує найбільш активні напрями.
У звіті потрібно відображати:
- категорію;
- кількість вакансій;
- кількість резюме;
- кількість відгуків;
- середню зарплату, якщо використовується.
AJAX-інтерактив
Інтерфейс має працювати швидко та без зайвого перезавантаження сторінок.
Через AJAX мають працювати:
- створення вакансії;
- створення резюме;
- пошук вакансій;
- пошук резюме;
- фільтрація;
- сортування;
- відгук на вакансію;
- зміна статусу відгуку;
- додавання вакансії в обране;
- зміна видимості резюме;
- модерація;
- оновлення списків і звітів.
Логування змін
Модуль повинен фіксувати важливі зміни.
Журнал змін має зберігати:
- хто створив вакансію;
- хто змінив вакансію;
- хто відправив вакансію на модерацію;
- хто схвалив або відхилив вакансію;
- хто створив резюме;
- хто змінив видимість резюме;
- хто створив відгук;
- хто змінив статус відгуку;
- хто архівував вакансію;
- хто активував преміум-послугу;
- дату й час зміни;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати розмежування прав.
| Роль | Можливості |
|---|---|
| Гість | Переглядає активні вакансії, користується пошуком і фільтрами |
| Кандидат | Створює резюме, відгукується на вакансії, бачить статуси відгуків |
| Роботодавець | Створює вакансії, переглядає відгуки, шукає резюме |
| Модератор | Перевіряє вакансії, резюме, компанії та керує статусами |
| Адміністратор | Налаштовує довідники, права, категорії, регіони, преміум-послуги |
| Керівник | Переглядає статистику, активність і звіти платформи |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Fetch API або Axios |
| UI-компоненти | DataTables для адмінки, Select2, Datepicker |
| Файли | Фото профілю, логотип компанії, PDF-резюме, якщо потрібно |
| Друк | Генерація резюме в PDF, опціонально |
| Нотифікації кандидатам і роботодавцям |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- користувачі;
- ролі користувачів;
- кандидати;
- роботодавці;
- компанії;
- категорії вакансій;
- регіони;
- типи зайнятості;
- вакансії;
- резюме;
- досвід роботи;
- освіта;
- навички;
- відгуки;
- статуси відгуків;
- обрані вакансії;
- збережені пошуки;
- модерація;
- преміум-послуги;
- email-сповіщення;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити категорії вакансій;
- створити регіони;
- створити типи зайнятості;
- створити роботодавця;
- створити профіль компанії;
- створити вакансію;
- вказати зарплату, опис, вимоги, тип зайнятості і регіон;
- відправити вакансію на модерацію;
- схвалити вакансію;
- перевірити, що вакансія стала активною;
- створити кандидата;
- створити резюме;
- зробити резюме публічним;
- знайти вакансію через пошук;
- відфільтрувати вакансії за категорією, регіоном і зарплатою;
- відгукнутися на вакансію;
- переглянути відгук у кабінеті роботодавця;
- змінити статус відгуку на «Переглянуто»;
- змінити статус відгуку на «Запрошено»;
- перевірити статус відгуку в кабінеті кандидата;
- створити прострочену вакансію для тесту;
- перевірити автоматичну архівацію;
- сформувати звіт вакансій за період;
- сформувати звіт резюме за період;
- сформувати звіт відгуків;
- перевірити журнал змін.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази вакансій і резюме | 20 | Категорії, регіони, типи зайнятості, вакансії, резюме, компанії, кандидати |
| Пошук, фільтрація і відгуки | 20 | Пошук вакансій і резюме, фільтри, відгук кандидата, статуси відгуків |
| Особистий кабінет роботодавця і кандидата | 20 | Керування вакансіями, резюме, відгуками, статусами і видимістю |
| Нотифікації і архівація вакансій | 20 | Email-повідомлення, завершення строку актуальності, архівування вакансій |
| Інтерактивність через AJAX | 20 | Створення, пошук, фільтрація, відгуки, статуси, модерація без перезавантаження |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: вакансії, резюме, відгуки, кабінети, пошук, модерація, архівація, нотифікації й AJAX реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес пошуку роботи |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: вакансії, резюме, відгуки, пошук, кабінети або статуси |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити категорію вакансій;
- неможливо створити вакансію;
- вакансія не має роботодавця;
- вакансія не має статусу;
- активна вакансія не показується в пошуку;
- архівна або відхилена вакансія показується як активна;
- неможливо створити резюме;
- приховане резюме показується роботодавцям у пошуку;
- кандидат не може відгукнутися на вакансію;
- роботодавець не бачить відгуків по своїй вакансії;
- статус відгуку не зберігається;
- фільтрація за категорією, регіоном або зарплатою не працює;
- автоматична архівація вакансій не працює, якщо вона заявлена;
- email-сповіщення не надсилаються, якщо вони заявлені;
- зміни вакансій, резюме або відгуків не логуються;
- звіти не відповідають фактичним даним.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл сайту роботи: роботодавець → вакансія → кандидат → резюме → пошук → відгук → перегляд роботодавцем → статус → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль сайту пошуку роботи в K2 ERP.
Модуль має підтримувати роботодавців, кандидатів, компанії, категорії вакансій, регіони, типи зайнятості, вакансії, резюме, відгуки, статуси відгуків, особисті кабінети, пошук, фільтрацію, модерацію, автоматичну архівацію, email-нотифікації, преміум-послуги, звіти, AJAX-інтерактив і логування змін.
Примітка
Сайт пошуку роботи потрібен рекрутинговим агентствам, HR-порталам, біржам фрілансу, корпоративним порталам вакансій, галузевим платформам і компаніям, які хочуть автоматизувати підбір персоналу.
Такий модуль допомагає швидко з’єднувати кандидатів і роботодавців, структурувати вакансії та резюме, контролювати відгуки, бачити активність користувачів і підвищувати ефективність рекрутингу.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль платформи пошуку роботи |
| Які довідники потрібні? | Категорії вакансій, регіони, типи зайнятості |
| Які головні об’єкти? | Вакансії, резюме і відгуки кандидатів |
| Хто користується системою? | Кандидати, роботодавці, модератори, адміністратори |
| Що робить кандидат? | Створює резюме, шукає вакансії, відгукується |
| Що робить роботодавець? | Створює вакансії, шукає резюме, переглядає відгуки |
| Які звіти потрібні? | Вакансії, резюме, відгуки, активність роботодавців, популярні категорії |
| Що є критичною вимогою? | Повний цикл: вакансія → резюме → пошук → відгук → статус |