Щодо логіки, ця тема виконує функцію форми, де клієнт отримує логін дані свого облікового запису, заходить і має заповнити форми (таскi) до дати, яка встановлена. З іншого боку, компанія збирає ці дані.
Необхідно створити кастомну тему для WordPress, використовуючи надані файли HTML, CSS та JS. Тема має складатися з трьох основних сторінок, а також включати додаткові функціональності для роботи з користувачами та кастомними типами контенту.
👉Основні вимоги:
Структура теми:
Тема повинна включати три основні HTML-сторінки:
login.html ця сторінка має бути використана як домашня сторінка та надавати користувачам можливість увійти в систему. Після успішного логіну користувач потрапляє на інші сторінки.
overview.html ця сторінка має бути доступна лише для авторизованих користувачів. На ній повинна відображатися інформація про заасайнені події (Events) та статистика по виконаних і невиконаних завданнях (Tasks).
tasks.html також доступна тільки після авторизації. На цій сторінці користувачі повинні мати можливість заповнювати та відправляти форми, які потім будуть відображені як "виконані".
Кастомні типи постів:
Створити кастомний тип поста Events (Події). Кожен Event має можливість редагування наступних полів: заголовок, текст та зображення. Подія може бути асоційована з кількома користувачами з роллю event_user, але кожен користувач може бути асоційований лише з однією подією.
Кастомна роль користувача:
Створити кастомну роль "Event User". Користувачі цієї ролі не повинні мати доступу до адмін-панелі WordPress, а лише до фронтенду після успішного логіну. Роль "Event User" надає доступ лише до сторінок overview.html та tasks.html.
Функціонал для адміністратора:
Адміністратор має можливість переглядати дані, надіслані користувачами (role: "Event User") через форми на сторінці tasks.html. У адмінці WordPress адміністратор може бачити всю інформацію, яку заповнили користувачі в формах.
👉Функціонал на сторінках:
overview.html на цій сторінці повинна бути секція, що відображає заасайнену подію для користувача (якщо така є). Також має бути секція зі списком завдань (Tasks), де буде відображатися статус кожного завдання: виконане або не виконане.
tasks.html користувачі мають можливість заповнювати та відправляти форми для виконання завдань. Після відправки, завдання повинно позначатись як "виконане", і інформація про це відображатиметься на сторінці.
Форми на сторінці Tasks повинні зберігати дані після відправки, щоб адміністратор міг їх переглядати в адмінці.
👉 Додатково:
Використання стандартів WordPress для розробки теми та плагінів. Дотримання принципів безпеки, таких як валідація та ескейпінг вводу. Реалізація кастомного типу поста через функції теми. Забезпечення коректного відображення сторінок на всіх пристроях.