Атестаційні завдання K2 ERP/Реєстратор доменів

Версія від 19:53, 1 травня 2026, створена R (обговорення | внесок)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)


Атестаційне завдання K2 ERP — Реєстратор доменів — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля реєстрації, продовження, обліку та супроводу доменних імен.

Модуль має забезпечувати облік клієнтів, доменних зон, доменів, строків дії, DNS-серверів, DNS-записів, заявок на реєстрацію, рахунків, оплат, нагадувань про продовження та історії операцій по кожному домену.

Коротко. Потрібно реалізувати модуль реєстратора доменів: клієнти, доменні зони, домени, перевірка доступності, реєстрація, продовження, зміна NS, DNS-записи, рахунки, оплати, нагадування про завершення строку та особистий кабінет клієнта.

Назва завдання

Модуль реєстрації, продовження і обліку доменних імен.

Мета завдання

Мета завдання — створити в K2 ERP модуль для автоматизації роботи компанії, яка надає послуги реєстрації та супроводу доменних імен.

Система повинна дозволяти:

  • вести клієнтів;
  • вести доменні зони;
  • вести доменні імена клієнтів;
  • контролювати дати реєстрації та завершення доменів;
  • створювати заявки на реєстрацію домену;
  • перевіряти доступність домену;
  • виставляти рахунки за реєстрацію;
  • виставляти рахунки за продовження;
  • фіксувати оплати;
  • змінювати статуси доменів;
  • продовжувати домени на новий період;
  • вести NS-сервери;
  • вести DNS-записи, якщо реалізується DNS-модуль;
  • надсилати нагадування про завершення строку дії;
  • зберігати історію операцій по домену;
  • підтримувати особистий кабінет клієнта;
  • інтегруватися з API зовнішніх реєстраторів, якщо потрібно;
  • формувати звіти по доменах, продовженнях, оплатах і простроченнях.

Головний принцип. Домен не можна “забути”. Якщо строк дії завершується, система повинна завчасно попередити клієнта, сформувати рахунок і допомогти продовжити домен до його втрати.

Реальний бізнес-контекст

Компанія-реєстратор або хостинг-провайдер надає клієнтам послуги з реєстрації, продовження та обслуговування доменних імен.

Клієнти можуть замовляти:

  • реєстрацію нового домену;
  • продовження існуючого домену;
  • перенесення домену від іншого реєстратора;
  • зміну DNS-серверів;
  • управління DNS-записами;
  • супутні послуги: хостинг, VPS, SSL, email, технічну підтримку.

Основний ризик у такому бізнесі — пропущений строк продовження. Якщо домен вчасно не продовжити, клієнт може втратити сайт, пошту, бренд, рекламні кампанії та доступність сервісів.

Тому модуль має не просто зберігати список доменів, а активно контролювати строки, рахунки, оплати, статуси й нагадування.

Основний бізнес-процес

Типовий процес роботи з доменом виглядає так:

  1. клієнт подає заявку на реєстрацію домену;
  2. система або менеджер перевіряє доступність домену;
  3. створюється рахунок на оплату;
  4. клієнт оплачує рахунок;
  5. домен реєструється вручну або через API;
  6. у системі фіксується дата реєстрації та дата завершення;
  7. клієнт отримує сповіщення про успішну реєстрацію;
  8. за 30, 15 і 5 днів до завершення система надсилає нагадування;
  9. формується рахунок на продовження;
  10. після оплати домен продовжується;
  11. історія операцій зберігається в картці домену.

Основні об’єкти модуля

Об’єкт Призначення
Клієнти Власники або замовники доменних імен
Доменні зони .com, .net, .ua, .org, .shop та інші зони
Домени Конкретні доменні імена клієнтів
Заявки Запити на реєстрацію, продовження, перенесення або зміну DNS
DNS-сервери NS-записи домену
DNS-записи A, MX, TXT, CNAME та інші записи, якщо реалізовано DNS-модуль
Рахунки Документи для оплати реєстрації або продовження
Оплати Факти надходження коштів
Нагадування Повідомлення клієнтам про завершення строку дії
Історія операцій Усі дії з доменом: реєстрація, продовження, зміна NS, оплата
Особистий кабінет Інтерфейс клієнта для керування доменами
Звіти Аналітика по доменах, строках, оплатах і простроченнях

Довідник «Клієнти»

Довідник клієнтів містить фізичних осіб, ФОП або компанії, які замовляють доменні послуги.

Поля клієнта

Поле Опис
Назва компанії або ПІБ Ім’я клієнта або назва юридичної особи
Тип клієнта Приватний, ФОП, юридична особа
Контактна особа Представник клієнта
Телефон Контактний номер
Email Адреса для рахунків і нагадувань
Адреса Поштова або юридична адреса
ЄДРПОУ / ІПН Для юридичних осіб або ФОП
Статус Активний, заблокований, архівний
Примітки Внутрішні коментарі менеджера

Довідник «Зони доменів»

Довідник зон містить доменні зони, з якими працює реєстратор.

Приклади доменних зон

  • .com;
  • .net;
  • .org;
  • .ua;
  • .com.ua;
  • .kyiv.ua;
  • .shop;
  • .biz;
  • .info;
  • .eu.

Поля доменної зони

Поле Опис
Назва зони Наприклад: .com, .ua, .shop
Опис Короткий опис або умови зони
Вартість реєстрації Ціна першої реєстрації
Вартість продовження Ціна продовження
Вартість трансферу Якщо підтримується перенесення домену
Мінімальний період реєстрації Наприклад: 1 рік
Максимальний період реєстрації Наприклад: 10 років
Потребує документів Так / ні, якщо зона має особливі правила
Активність Чи доступна зона для нових замовлень

База «Доменні імена»

База доменів містить усі доменні імена клієнтів.

Колонки бази доменів

Колонка Опис
Назва домену Повне доменне ім’я
Клієнт Власник або замовник домену
Зона домену .com, .ua, .net тощо
Дата реєстрації Коли домен зареєстровано
Дата завершення До якої дати домен активний
Статус Активний, очікує продовження, прострочений, видалений
DNS-сервери Поточні NS-записи
Автопродовження Чи потрібно автоматично створювати рахунок на продовження

Поля домену

Поле Опис
Доменне ім’я Наприклад: example.com
Клієнт До кого прив’язаний домен
Доменна зона Зона домену
Дата реєстрації Дата початку дії
Дата завершення Дата, до якої домен потрібно продовжити
Період реєстрації 1 рік, 2 роки тощо
Статус Поточний стан домену
NS-сервери Список DNS-серверів
Реєстратор / API-провайдер Через кого зареєстровано домен
Автопродовження Увімкнено або вимкнено
Коментар Службова інформація

Статуси домену

Статус Значення
Заявка Клієнт подав заявку, домен ще не зареєстрований
Очікує оплати Рахунок сформовано, але не оплачено
Активний Домен зареєстрований і діє
Очікує продовження До завершення строку залишилось мало часу
Прострочений Строк дії завершився
На трансфері Домен переноситься від іншого реєстратора або до іншого реєстратора
Заблокований Домен заблокований вручну або реєстратором
Видалений Домен більше не обслуговується

Важливо. Домен зі статусом «Прострочений» має бути добре видимий менеджеру і клієнту, бо це зона ризику втрати доменного імені.

Заявка на реєстрацію домену

Заявка фіксує намір клієнта зареєструвати новий домен.

Поля заявки

Поле Опис
Клієнт Хто замовляє домен
Бажане доменне ім’я Назва домену
Доменна зона Обрана зона
Період реєстрації На скільки років реєструється домен
Статус заявки Нова, перевіряється, очікує оплати, виконана, відхилена
Рахунок Пов’язаний рахунок на оплату
Коментар Примітки менеджера або клієнта

Перевірка доступності домену

Система має підтримувати перевірку доступності домену.

Варіанти перевірки

  • ручна перевірка менеджером;
  • перевірка через API реєстратора;
  • перевірка через зовнішній сервіс;
  • кешування результату на короткий час.

Результати перевірки

Результат Значення
Доступний Домен можна зареєструвати
Зайнятий Домен уже зареєстрований
Недоступна зона Обрана зона не підтримується
Потрібні документи Для реєстрації потрібні додаткові дані
Помилка перевірки API або сервіс перевірки недоступний

Процес реєстрації домену

Кроки реєстрації

  1. Клієнт подає заявку на домен.
  2. Система перевіряє доступність домену.
  3. Якщо домен доступний — формується рахунок.
  4. Клієнт оплачує рахунок.
  5. Система або менеджер реєструє домен.
  6. У картці домену фіксуються дата реєстрації та дата завершення.
  7. Домен отримує статус «Активний».
  8. Клієнту надсилається повідомлення про успішну реєстрацію.

Процес продовження домену

Кроки продовження

  1. Система перевіряє домени, строк дії яких завершується.
  2. Клієнту надсилається нагадування.
  3. Формується рахунок на продовження.
  4. Клієнт оплачує рахунок.
  5. Домен продовжується на новий період.
  6. Дата завершення оновлюється.
  7. У історію домену додається операція продовження.
  8. Клієнт отримує повідомлення про успішне продовження.

Формула нової дати завершення

Нова дата завершення = Поточна дата завершення + Період продовження

Якщо домен уже прострочений, правило може бути іншим і залежати від умов доменної зони або реєстратора.

Критично. Оплачений домен має бути продовжений у системі, а дата завершення повинна змінитися. Інакше система буде надалі показувати домен як проблемний.

Сповіщення про завершення строку

Система повинна автоматично нагадувати клієнтам про необхідність продовження домену.

Рекомендовані нагадування

  • за 30 днів до завершення;
  • за 15 днів до завершення;
  • за 5 днів до завершення;
  • у день завершення;
  • після прострочення, якщо домен не продовжено.

Дані сповіщення

Сповіщення має містити:

  • назву домену;
  • дату завершення;
  • суму продовження;
  • посилання на рахунок;
  • контакт підтримки;
  • попередження про ризик втрати домену.

Виставлення рахунків

Рахунки формуються для:

  • реєстрації нового домену;
  • продовження домену;
  • трансферу домену;
  • додаткових DNS або технічних послуг.

Дані рахунку

Рахунок має містити:

  • номер рахунку;
  • дату;
  • клієнта;
  • домен;
  • доменну зону;
  • операцію: реєстрація, продовження, трансфер;
  • період;
  • ціну;
  • суму;
  • статус оплати;
  • реквізити для оплати.

Статуси рахунку

Статус Значення
Чернетка Рахунок створено, але не відправлено
Виставлений Рахунок надіслано клієнту
Оплачений Оплата отримана повністю
Частково оплачений Оплачена частина суми
Прострочений Термін оплати минув
Скасований Рахунок анульовано

Оплати

Модуль має фіксувати оплати клієнтів.

Поля оплати

Поле Опис
Дата оплати Коли надійшли кошти
Клієнт Хто оплатив
Рахунок За який рахунок оплата
Домен До якого домену належить оплата
Сума Сума оплати
Спосіб оплати Банківський переказ, картка, онлайн-оплата, готівка
Коментар Призначення платежу або службова примітка

DNS-сервери

Для кожного домену потрібно зберігати NS-сервери.

Поля NS-запису

Поле Опис
Домен До якого домену належить NS
NS-сервер Наприклад: ns1.example.com
Порядок Перший, другий, третій DNS-сервер
Дата зміни Коли запис було змінено
Хто змінив Користувач або клієнт

DNS-записи

Опціонально можна реалізувати базовий DNS-модуль.

Типи DNS-записів

  • A;
  • AAAA;
  • CNAME;
  • MX;
  • TXT;
  • NS;
  • SRV;
  • SPF, як TXT-запис.

Поля DNS-запису

Поле Опис
Домен До якого домену належить запис
Тип запису A, MX, TXT, CNAME тощо
Ім’я / Host Наприклад: @, www, mail
Значення IP-адреса, домен, текст або інше значення
TTL Час кешування
Пріоритет Для MX та деяких інших записів
Статус Активний або вимкнений

Історія операцій по домену

Для кожного домену потрібно зберігати історію дій.

Типи операцій

  • заявка на реєстрацію;
  • перевірка доступності;
  • виставлення рахунку;
  • оплата;
  • реєстрація;
  • продовження;
  • зміна NS;
  • зміна DNS-записів;
  • трансфер;
  • блокування;
  • видалення;
  • відновлення.

Поля історії

Поле Опис
Домен До якого домену належить операція
Дата і час Коли виконано дію
Тип операції Реєстрація, продовження, зміна NS тощо
Користувач Хто виконав дію
Опис Що саме змінилося
Старе значення Якщо застосовується
Нове значення Якщо застосовується

Особистий кабінет клієнта

Особистий кабінет дозволяє клієнту самостійно контролювати домени.

Функції кабінету

Клієнт повинен мати можливість:

  • бачити список своїх доменів;
  • бачити дати завершення;
  • бачити статуси доменів;
  • завантажувати рахунки;
  • переглядати історію оплат;
  • подати заявку на реєстрацію нового домену;
  • подати заявку на продовження;
  • змінити NS-сервери, якщо дозволено;
  • керувати DNS-записами, якщо реалізовано;
  • бачити нагадування про домени, які скоро завершуються.

API-інтеграція з реєстраторами

Опціонально модуль може інтегруватися з API зовнішнього реєстратора.

Можливості API

Через API можна реалізувати:

  • перевірку доступності домену;
  • реєстрацію домену;
  • продовження домену;
  • зміну NS-серверів;
  • отримання статусу домену;
  • синхронізацію дат завершення;
  • керування DNS-записами.

Звітність

Звіт «Домени, що завершуються»

Звіт показує домени, які потрібно продовжити найближчим часом.

У звіті потрібно відображати:

  • домен;
  • клієнта;
  • дату завершення;
  • кількість днів до завершення;
  • статус домену;
  • чи виставлено рахунок;
  • чи оплачено продовження.

Звіт «Прострочені домени»

Звіт показує домени, строк дії яких уже завершився.

У звіті потрібно відображати:

  • домен;
  • клієнта;
  • дату завершення;
  • кількість днів прострочення;
  • статус;
  • суму до оплати;
  • останнє нагадування.

Звіт «Доходи по доменах»

Звіт показує фінансовий результат по доменних послугах.

У звіті потрібно відображати:

  • період;
  • кількість реєстрацій;
  • кількість продовжень;
  • суму рахунків;
  • суму оплат;
  • дохід по доменних зонах.

Звіт «Домени по клієнтах»

Звіт показує портфель доменів кожного клієнта.

У звіті потрібно відображати:

  • клієнта;
  • кількість доменів;
  • активні домени;
  • домени, що завершуються;
  • прострочені домени;
  • суму рахунків за домени.

AJAX-інтерактив

Інтерфейс має працювати швидко та зручно для менеджера і клієнта.

Через AJAX мають працювати:

  • пошук клієнта;
  • вибір доменної зони;
  • перевірка доступності домену;
  • створення заявки;
  • формування рахунку;
  • реєстрація оплати;
  • зміна статусу домену;
  • зміна NS-серверів;
  • додавання DNS-запису;
  • редагування DNS-запису;
  • фільтрація доменів;
  • оновлення звітів.

Логування змін

Модуль повинен фіксувати важливі зміни.

Журнал змін має зберігати:

  • хто створив клієнта;
  • хто створив домен;
  • хто перевірив доступність;
  • хто сформував рахунок;
  • хто зареєстрував оплату;
  • хто зареєстрував домен;
  • хто продовжив домен;
  • хто змінив дату завершення;
  • хто змінив NS;
  • хто змінив DNS-записи;
  • хто змінив статус домену;
  • дату й час дії;
  • старе та нове значення, якщо це можливо.

Права доступу

Модуль має підтримувати розмежування прав.

Роль Можливості
Менеджер Створює клієнтів, заявки, домени, рахунки, контролює продовження
Бухгалтер Фіксує оплати, контролює рахунки і заборгованість
Технічний спеціаліст Керує NS, DNS-записами, API-операціями і технічними статусами
Клієнт Переглядає свої домени, рахунки, дати завершення і керує DNS, якщо дозволено
Керівник Переглядає звіти по доменах, оплатах, простроченнях і доходах
Адміністратор Налаштовує доменні зони, тарифи, права, API та службові параметри

Технічні вимоги

Параметр Опис
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Fetch API або Axios
UI-компоненти DataTables для таблиці доменів, Select2 для вибору зони і клієнта
Email Нагадування про продовження, рахунки, повідомлення про реєстрацію
API Інтеграція з реєстратором доменів, опціонально
Друк Генерація PDF-рахунків
Експорт Excel або PDF для звітів

Рекомендовані сутності бази даних

Для реалізації задачі доцільно передбачити такі сутності:

  • клієнти;
  • контактні особи;
  • доменні зони;
  • домени;
  • заявки на домени;
  • статуси доменів;
  • NS-сервери;
  • DNS-записи;
  • рахунки;
  • рядки рахунків;
  • оплати;
  • нагадування;
  • історія операцій;
  • API-провайдери;
  • особистий кабінет;
  • email-шаблони;
  • журнал змін;
  • звіти;
  • права доступу.

Практичне завдання

У межах атестації потрібно продемонструвати робочий сценарій.

Мінімальний сценарій:

  1. створити клієнта;
  2. створити доменні зони;
  3. створити заявку на реєстрацію домену;
  4. перевірити доступність домену;
  5. сформувати рахунок на реєстрацію;
  6. зареєструвати оплату;
  7. створити домен зі статусом «Активний»;
  8. вказати дату реєстрації і дату завершення;
  9. додати NS-сервери;
  10. додати DNS-запис A;
  11. додати DNS-запис MX або TXT;
  12. сформувати нагадування за 30 днів до завершення;
  13. сформувати рахунок на продовження;
  14. зареєструвати оплату продовження;
  15. продовжити домен на новий період;
  16. перевірити зміну дати завершення;
  17. переглянути історію операцій по домену;
  18. перевірити домен у кабінеті клієнта;
  19. сформувати звіт доменів, що завершуються;
  20. сформувати звіт прострочених доменів;
  21. сформувати звіт доходів по доменах;
  22. перевірити журнал змін.

Критерії оцінювання

Критерій Бали Що перевіряється
Реалізація бази клієнтів, зон доменів і доменів 20 Клієнти, доменні зони, домени, статуси, дати реєстрації та завершення
Процес реєстрації і продовження доменів 20 Заявка, перевірка доступності, рахунок, оплата, реєстрація, продовження, зміна дати завершення
Сповіщення про закінчення доменів 20 Нагадування за 30, 15, 5 днів, повідомлення про прострочення і успішне продовження
Виставлення рахунків і облік оплат 20 PDF-рахунки, статуси рахунків, часткова або повна оплата, прив’язка оплати до домену
Інтерактивність через AJAX і особистий кабінет клієнта 20 AJAX-перевірка, оновлення статусів, кабінет клієнта, перегляд доменів, DNS і рахунків
Разом 100 Максимальна оцінка

Шкала оцінювання

Бали Рівень Опис
90–100 Відмінно Модуль повністю працює: клієнти, доменні зони, домени, реєстрація, продовження, DNS, рахунки, оплати, нагадування, кабінет і звіти реалізовані коректно
75–89 Добре Основна логіка працює, є незначні недоліки, які не руйнують процес обліку доменів
60–74 Зараховано Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: клієнти, домени, дати завершення, продовження, рахунки або нагадування

Критичні помилки

Критичними помилками вважаються ситуації, коли:

  • неможливо створити клієнта;
  • неможливо створити доменну зону;
  • неможливо створити домен;
  • домен не має дати завершення;
  • домен не прив’язується до клієнта;
  • неможливо сформувати рахунок на реєстрацію;
  • неможливо зареєструвати оплату;
  • оплачений домен не переводиться в активний статус;
  • неможливо продовжити домен;
  • дата завершення не змінюється після продовження;
  • нагадування про завершення не створюються;
  • прострочені домени не відображаються в звіті;
  • клієнт бачить чужі домени в особистому кабінеті;
  • зміна NS або DNS не логуються, якщо ця функція заявлена;
  • звіти не відповідають фактичним доменам, рахункам і оплатам.

Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл реєстратора: клієнт → заявка → домен → рахунок → оплата → реєстрація → нагадування → продовження → звіт.

Очікуваний результат

У результаті виконання атестаційного завдання має бути створений модуль реєстратора доменів у K2 ERP.

Модуль має підтримувати клієнтів, доменні зони, домени, заявки, перевірку доступності, реєстрацію, продовження, NS-сервери, DNS-записи, рахунки, оплати, нагадування про завершення, особистий кабінет клієнта, історію операцій, API-інтеграції, звіти, AJAX-інтерактив і логування змін.

Примітка

Модуль реєстратора доменів потрібен хостинг-провайдерам, ІТ-компаніям, веб-студіям, датацентрам, маркетплейсам і компаніям, які обслуговують велику кількість доменів клієнтів.

Вчасне нагадування, правильний облік строків і автоматизація рахунків мінімізують ризик втрати доменних імен та підвищують якість обслуговування клієнтів.

Коротко

Питання Відповідь
Що потрібно створити? Модуль реєстрації, продовження і обліку доменних імен
Які довідники потрібні? Клієнти, доменні зони, домени
Який головний облік? Дати реєстрації, дати завершення, статуси доменів і продовження
Які операції потрібні? Реєстрація, продовження, зміна NS, DNS-записи, трансфер опціонально
Що має робити система перед завершенням домену? Надсилати нагадування і формувати рахунок на продовження
Які документи потрібні? Рахунок на реєстрацію або продовження
Які звіти потрібні? Домени, що завершуються, прострочені домени, доходи по доменах, домени по клієнтах
Що є критичною вимогою? Після продовження домену дата завершення має оновлюватися

Див. також