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

Первинна публікація
 
Немає опису редагування
 
Рядок 1: Рядок 1:
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Реєстратор доменів}}


= Модуль реєстрації, продовження і обліку доменних імен =
'''Атестаційне завдання K2 ERP — Реєстратор доменів''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля реєстрації, продовження, обліку та супроводу доменних імен.
 
Модуль має забезпечувати облік клієнтів, доменних зон, доменів, строків дії, DNS-серверів, DNS-записів, заявок на реєстрацію, рахунків, оплат, нагадувань про продовження та історії операцій по кожному домену.
 
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
'''Коротко.''' Потрібно реалізувати модуль реєстратора доменів: клієнти, доменні зони, домени, перевірка доступності, реєстрація, продовження, зміна NS, DNS-записи, рахунки, оплати, нагадування про завершення строку та особистий кабінет клієнта.
</div>
 
__TOC__
 
== Назва завдання ==
 
'''Модуль реєстрації, продовження і обліку доменних імен'''.
 
== Мета завдання ==
 
Мета завдання — створити в K2 ERP модуль для автоматизації роботи компанії, яка надає послуги реєстрації та супроводу доменних імен.
 
Система повинна дозволяти:
 
* вести клієнтів;
* вести доменні зони;
* вести доменні імена клієнтів;
* контролювати дати реєстрації та завершення доменів;
* створювати заявки на реєстрацію домену;
* перевіряти доступність домену;
* виставляти рахунки за реєстрацію;
* виставляти рахунки за продовження;
* фіксувати оплати;
* змінювати статуси доменів;
* продовжувати домени на новий період;
* вести NS-сервери;
* вести DNS-записи, якщо реалізується DNS-модуль;
* надсилати нагадування про завершення строку дії;
* зберігати історію операцій по домену;
* підтримувати особистий кабінет клієнта;
* інтегруватися з API зовнішніх реєстраторів, якщо потрібно;
* формувати звіти по доменах, продовженнях, оплатах і простроченнях.
 
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
'''Головний принцип.''' Домен не можна “забути”. Якщо строк дії завершується, система повинна завчасно попередити клієнта, сформувати рахунок і допомогти продовжити домен до його втрати.
</div>


== Реальний бізнес-контекст ==
== Реальний бізнес-контекст ==
Компанія-реєстратор надає послуги:


* реєстрації доменних імен для клієнтів;
Компанія-реєстратор або хостинг-провайдер надає клієнтам послуги з реєстрації, продовження та обслуговування доменних імен.
* продовження терміну дії доменів;
 
* передачі доменів;
Клієнти можуть замовляти:
* управління DNS-записами.
 
* реєстрацію нового домену;
* продовження існуючого домену;
* перенесення домену від іншого реєстратора;
* зміну DNS-серверів;
* управління DNS-записами;
* супутні послуги: хостинг, VPS, SSL, email, технічну підтримку.
 
Основний ризик у такому бізнесі — пропущений строк продовження. Якщо домен вчасно не продовжити, клієнт може втратити сайт, пошту, бренд, рекламні кампанії та доступність сервісів.
 
Тому модуль має не просто зберігати список доменів, а активно контролювати строки, рахунки, оплати, статуси й нагадування.
 
== Основний бізнес-процес ==
 
Типовий процес роботи з доменом виглядає так:
 
# клієнт подає заявку на реєстрацію домену;
# система або менеджер перевіряє доступність домену;
# створюється рахунок на оплату;
# клієнт оплачує рахунок;
# домен реєструється вручну або через API;
# у системі фіксується дата реєстрації та дата завершення;
# клієнт отримує сповіщення про успішну реєстрацію;
# за 30, 15 і 5 днів до завершення система надсилає нагадування;
# формується рахунок на продовження;
# після оплати домен продовжується;
# історія операцій зберігається в картці домену.
 
== Основні об’єкти модуля ==
 
{| class="wikitable" style="width:100%;"
! Об’єкт
! Призначення
|-
| Клієнти
| Власники або замовники доменних імен
|-
| Доменні зони
| .com, .net, .ua, .org, .shop та інші зони
|-
| Домени
| Конкретні доменні імена клієнтів
|-
| Заявки
| Запити на реєстрацію, продовження, перенесення або зміну DNS
|-
| DNS-сервери
| NS-записи домену
|-
| DNS-записи
| A, MX, TXT, CNAME та інші записи, якщо реалізовано DNS-модуль
|-
| Рахунки
| Документи для оплати реєстрації або продовження
|-
| Оплати
| Факти надходження коштів
|-
| Нагадування
| Повідомлення клієнтам про завершення строку дії
|-
| Історія операцій
| Усі дії з доменом: реєстрація, продовження, зміна NS, оплата
|-
| Особистий кабінет
| Інтерфейс клієнта для керування доменами
|-
| Звіти
| Аналітика по доменах, строках, оплатах і простроченнях
|}
 
== Довідник «Клієнти» ==
 
Довідник клієнтів містить фізичних осіб, ФОП або компанії, які замовляють доменні послуги.
 
== Поля клієнта ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва компанії або ПІБ
| Ім’я клієнта або назва юридичної особи
|-
| Тип клієнта
| Приватний, ФОП, юридична особа
|-
| Контактна особа
| Представник клієнта
|-
| Телефон
| Контактний номер
|-
| Email
| Адреса для рахунків і нагадувань
|-
| Адреса
| Поштова або юридична адреса
|-
| ЄДРПОУ / ІПН
| Для юридичних осіб або ФОП
|-
| Статус
| Активний, заблокований, архівний
|-
| Примітки
| Внутрішні коментарі менеджера
|}
 
== Довідник «Зони доменів» ==
 
Довідник зон містить доменні зони, з якими працює реєстратор.
 
== Приклади доменних зон ==
 
* .com;
* .net;
* .org;
* .ua;
* .com.ua;
* .kyiv.ua;
* .shop;
* .biz;
* .info;
* .eu.
 
== Поля доменної зони ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва зони
| Наприклад: .com, .ua, .shop
|-
| Опис
| Короткий опис або умови зони
|-
| Вартість реєстрації
| Ціна першої реєстрації
|-
| Вартість продовження
| Ціна продовження
|-
| Вартість трансферу
| Якщо підтримується перенесення домену
|-
| Мінімальний період реєстрації
| Наприклад: 1 рік
|-
| Максимальний період реєстрації
| Наприклад: 10 років
|-
| Потребує документів
| Так / ні, якщо зона має особливі правила
|-
| Активність
| Чи доступна зона для нових замовлень
|}
 
== База «Доменні імена» ==
 
База доменів містить усі доменні імена клієнтів.
 
== Колонки бази доменів ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Назва домену
| Повне доменне ім’я
|-
| Клієнт
| Власник або замовник домену
|-
| Зона домену
| .com, .ua, .net тощо
|-
| Дата реєстрації
| Коли домен зареєстровано
|-
| Дата завершення
| До якої дати домен активний
|-
| Статус
| Активний, очікує продовження, прострочений, видалений
|-
| DNS-сервери
| Поточні NS-записи
|-
| Автопродовження
| Чи потрібно автоматично створювати рахунок на продовження
|}
 
== Поля домену ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Доменне ім’я
| Наприклад: example.com
|-
| Клієнт
| До кого прив’язаний домен
|-
| Доменна зона
| Зона домену
|-
| Дата реєстрації
| Дата початку дії
|-
| Дата завершення
| Дата, до якої домен потрібно продовжити
|-
| Період реєстрації
| 1 рік, 2 роки тощо
|-
| Статус
| Поточний стан домену
|-
| NS-сервери
| Список DNS-серверів
|-
| Реєстратор / API-провайдер
| Через кого зареєстровано домен
|-
| Автопродовження
| Увімкнено або вимкнено
|-
| Коментар
| Службова інформація
|}
 
== Статуси домену ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Заявка
| Клієнт подав заявку, домен ще не зареєстрований
|-
| Очікує оплати
| Рахунок сформовано, але не оплачено
|-
| Активний
| Домен зареєстрований і діє
|-
| Очікує продовження
| До завершення строку залишилось мало часу
|-
| Прострочений
| Строк дії завершився
|-
| На трансфері
| Домен переноситься від іншого реєстратора або до іншого реєстратора
|-
| Заблокований
| Домен заблокований вручну або реєстратором
|-
| Видалений
| Домен більше не обслуговується
|}
 
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
'''Важливо.''' Домен зі статусом '''«Прострочений»''' має бути добре видимий менеджеру і клієнту, бо це зона ризику втрати доменного імені.
</div>
 
== Заявка на реєстрацію домену ==
 
Заявка фіксує намір клієнта зареєструвати новий домен.
 
== Поля заявки ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Клієнт
| Хто замовляє домен
|-
| Бажане доменне ім’я
| Назва домену
|-
| Доменна зона
| Обрана зона
|-
| Період реєстрації
| На скільки років реєструється домен
|-
| Статус заявки
| Нова, перевіряється, очікує оплати, виконана, відхилена
|-
| Рахунок
| Пов’язаний рахунок на оплату
|-
| Коментар
| Примітки менеджера або клієнта
|}
 
== Перевірка доступності домену ==
 
Система має підтримувати перевірку доступності домену.
 
== Варіанти перевірки ==
 
* ручна перевірка менеджером;
* перевірка через API реєстратора;
* перевірка через зовнішній сервіс;
* кешування результату на короткий час.
 
== Результати перевірки ==
 
{| class="wikitable" style="width:100%;"
! Результат
! Значення
|-
| Доступний
| Домен можна зареєструвати
|-
| Зайнятий
| Домен уже зареєстрований
|-
| Недоступна зона
| Обрана зона не підтримується
|-
| Потрібні документи
| Для реєстрації потрібні додаткові дані
|-
| Помилка перевірки
| API або сервіс перевірки недоступний
|}
 
== Процес реєстрації домену ==
 
== Кроки реєстрації ==


Потрібно:
# Клієнт подає заявку на домен.
# Система перевіряє доступність домену.
# Якщо домен доступний — формується рахунок.
# Клієнт оплачує рахунок.
# Система або менеджер реєструє домен.
# У картці домену фіксуються дата реєстрації та дата завершення.
# Домен отримує статус '''«Активний»'''.
# Клієнту надсилається повідомлення про успішну реєстрацію.


* вести облік доменів клієнтів;
== Процес продовження домену ==
* контролювати дати закінчення доменів;
* автоматично нагадувати клієнтам про необхідність продовження;
* виставляти рахунки за реєстрацію і продовження.


== Основні завдання ==
== Кроки продовження ==


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


==== Довідник «Клієнти» ====
== Формула нової дати завершення ==
Поля довідника:


* назва компанії або ПІБ;
<pre>
* контактна особа;
Нова дата завершення = Поточна дата завершення + Період продовження
* телефон;
</pre>
* email;
* адреса.


==== Довідник «Зони доменів» ====
Якщо домен уже прострочений, правило може бути іншим і залежати від умов доменної зони або реєстратора.
Поля довідника:


* назва зони, наприклад:
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
** .com;
'''Критично.''' Оплачений домен має бути продовжений у системі, а дата завершення повинна змінитися. Інакше система буде надалі показувати домен як проблемний.
** .net;
</div>
** .ua;
** .org;
** .shop;
* опис;
* вартість реєстрації;
* вартість продовження;
* мінімальний період реєстрації:
** рік;
** два роки.


=== 2. База «Доменні імена» ===
== Сповіщення про завершення строку ==


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


* назва домену;
== Рекомендовані нагадування ==
* клієнт;
* дата реєстрації;
* дата закінчення;
* зона домену;
* статус:
** активний;
** очікує продовження;
** протермінований;
** видалений;
* DNS-сервери — NS-записи.


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


* реєстрація нового домену вручну або через API-провайдера;
== Дані сповіщення ==
 
Сповіщення має містити:
 
* назву домену;
* дату завершення;
* суму продовження;
* посилання на рахунок;
* контакт підтримки;
* попередження про ризик втрати домену.
 
== Виставлення рахунків ==
 
Рахунки формуються для:
 
* реєстрації нового домену;
* продовження домену;
* продовження домену;
* зміна DNS-серверів.
* трансферу домену;
* додаткових DNS або технічних послуг.


=== 3. Процеси реєстрації і продовження ===
== Дані рахунку ==


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


# Клієнт подає заявку на реєстрацію домену.
* номер рахунку;
# Перевірка доступності домену — опціонально через API.
* дату;
# Виставлення рахунку.
* клієнта;
# Після оплати — реєстрація домену або продовження терміну дії.
* домен;
* доменну зону;
* операцію: реєстрація, продовження, трансфер;
* період;
* ціну;
* суму;
* статус оплати;
* реквізити для оплати.


=== 4. Сповіщення ===
== Статуси рахунку ==


* нагадування клієнту за 30, 15 і 5 днів до закінчення домену;
{| class="wikitable" style="width:100%;"
* сповіщення про успішне продовження;
! Статус
* сповіщення про закінчення терміну.
! Значення
|-
| Чернетка
| Рахунок створено, але не відправлено
|-
| Виставлений
| Рахунок надіслано клієнту
|-
| Оплачений
| Оплата отримана повністю
|-
| Частково оплачений
| Оплачена частина суми
|-
| Прострочений
| Термін оплати минув
|-
| Скасований
| Рахунок анульовано
|}
 
== Оплати ==
 
Модуль має фіксувати оплати клієнтів.
 
== Поля оплати ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Дата оплати
| Коли надійшли кошти
|-
| Клієнт
| Хто оплатив
|-
| Рахунок
| За який рахунок оплата
|-
| Домен
| До якого домену належить оплата
|-
| Сума
| Сума оплати
|-
| Спосіб оплати
| Банківський переказ, картка, онлайн-оплата, готівка
|-
| Коментар
| Призначення платежу або службова примітка
|}
 
== DNS-сервери ==
 
Для кожного домену потрібно зберігати NS-сервери.
 
== Поля NS-запису ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Домен
| До якого домену належить NS
|-
| NS-сервер
| Наприклад: ns1.example.com
|-
| Порядок
| Перший, другий, третій DNS-сервер
|-
| Дата зміни
| Коли запис було змінено
|-
| Хто змінив
| Користувач або клієнт
|}
 
== DNS-записи ==
 
Опціонально можна реалізувати базовий DNS-модуль.
 
== Типи DNS-записів ==
 
* A;
* AAAA;
* CNAME;
* MX;
* TXT;
* NS;
* SRV;
* SPF, як TXT-запис.
 
== Поля DNS-запису ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Домен
| До якого домену належить запис
|-
| Тип запису
| A, MX, TXT, CNAME тощо
|-
| Ім’я / Host
| Наприклад: @, www, mail
|-
| Значення
| IP-адреса, домен, текст або інше значення
|-
| TTL
| Час кешування
|-
| Пріоритет
| Для MX та деяких інших записів
|-
| Статус
| Активний або вимкнений
|}
 
== Історія операцій по домену ==
 
Для кожного домену потрібно зберігати історію дій.
 
== Типи операцій ==
 
* заявка на реєстрацію;
* перевірка доступності;
* виставлення рахунку;
* оплата;
* реєстрація;
* продовження;
* зміна NS;
* зміна DNS-записів;
* трансфер;
* блокування;
* видалення;
* відновлення.
 
== Поля історії ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Домен
| До якого домену належить операція
|-
| Дата і час
| Коли виконано дію
|-
| Тип операції
| Реєстрація, продовження, зміна NS тощо
|-
| Користувач
| Хто виконав дію
|-
| Опис
| Що саме змінилося
|-
| Старе значення
| Якщо застосовується
|-
| Нове значення
| Якщо застосовується
|}


=== 5. Виставлення рахунків ===
== Особистий кабінет клієнта ==
Автоматичне формування рахунку для операцій:


* реєстрація нового домену;
Особистий кабінет дозволяє клієнту самостійно контролювати домени.
* продовження домену.


Додатково:
== Функції кабінету ==


* генерація рахунків у PDF;
Клієнт повинен мати можливість:
* надсилання рахунків на email.


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


* робота через AJAX — швидке оновлення даних без перезавантаження;
== API-інтеграція з реєстраторами ==
* історія операцій по кожному домену:
 
** реєстрація;
Опціонально модуль може інтегруватися з API зовнішнього реєстратора.
** продовження;
 
** зміна NS;
== Можливості API ==
* можливість інтеграції API реєстраторів, наприклад для автоматизації перевірки і реєстрації;
 
* базовий модуль управління DNS-записами для клієнтів — опціонально:
Через API можна реалізувати:
** A;
 
** MX;
* перевірку доступності домену;
** TXT;
* реєстрацію домену;
** CNAME.
* продовження домену;
* зміну NS-серверів;
* отримання статусу домену;
* синхронізацію дат завершення;
* керування DNS-записами.
 
== Звітність ==
 
== Звіт «Домени, що завершуються» ==
 
Звіт показує домени, які потрібно продовжити найближчим часом.
 
У звіті потрібно відображати:
 
* домен;
* клієнта;
* дату завершення;
* кількість днів до завершення;
* статус домену;
* чи виставлено рахунок;
* чи оплачено продовження.
 
== Звіт «Прострочені домени» ==
 
Звіт показує домени, строк дії яких уже завершився.
 
У звіті потрібно відображати:
 
* домен;
* клієнта;
* дату завершення;
* кількість днів прострочення;
* статус;
* суму до оплати;
* останнє нагадування.
 
== Звіт «Доходи по доменах» ==
 
Звіт показує фінансовий результат по доменних послугах.
 
У звіті потрібно відображати:
 
* період;
* кількість реєстрацій;
* кількість продовжень;
* суму рахунків;
* суму оплат;
* дохід по доменних зонах.
 
== Звіт «Домени по клієнтах» ==
 
Звіт показує портфель доменів кожного клієнта.
 
У звіті потрібно відображати:
 
* клієнта;
* кількість доменів;
* активні домени;
* домени, що завершуються;
* прострочені домени;
* суму рахунків за домени.
 
== AJAX-інтерактив ==
 
Інтерфейс має працювати швидко та зручно для менеджера і клієнта.
 
Через AJAX мають працювати:
 
* пошук клієнта;
* вибір доменної зони;
* перевірка доступності домену;
* створення заявки;
* формування рахунку;
* реєстрація оплати;
* зміна статусу домену;
* зміна NS-серверів;
* додавання DNS-запису;
* редагування DNS-запису;
* фільтрація доменів;
* оновлення звітів.
 
== Логування змін ==
 
Модуль повинен фіксувати важливі зміни.
 
Журнал змін має зберігати:
 
* хто створив клієнта;
* хто створив домен;
* хто перевірив доступність;
* хто сформував рахунок;
* хто зареєстрував оплату;
* хто зареєстрував домен;
* хто продовжив домен;
* хто змінив дату завершення;
* хто змінив NS;
* хто змінив DNS-записи;
* хто змінив статус домену;
* дату й час дії;
* старе та нове значення, якщо це можливо.
 
== Права доступу ==
 
Модуль має підтримувати розмежування прав.
 
{| class="wikitable" style="width:100%;"
! Роль
! Можливості
|-
| Менеджер
| Створює клієнтів, заявки, домени, рахунки, контролює продовження
|-
| Бухгалтер
| Фіксує оплати, контролює рахунки і заборгованість
|-
| Технічний спеціаліст
| Керує NS, DNS-записами, API-операціями і технічними статусами
|-
| Клієнт
| Переглядає свої домени, рахунки, дати завершення і керує DNS, якщо дозволено
|-
| Керівник
| Переглядає звіти по доменах, оплатах, простроченнях і доходах
|-
| Адміністратор
| Налаштовує доменні зони, тарифи, права, API та службові параметри
|}


== Технічні вимоги ==
== Технічні вимоги ==
{| class="wikitable"
 
!Параметр
{| class="wikitable" style="width:100%;"
!Опис
! Параметр
! Опис
|-
|-
|Бекенд
| Бекенд
|K2 Cloud ERP на Python або PHP
| K2 Cloud ERP на Python або PHP
|-
|-
|БД
| База даних
|PostgreSQL або MySQL
| PostgreSQL або MySQL
|-
|-
|Фронтенд
| Фронтенд
|HTML5, JavaScript, AJAX, Fetch API або Axios
| HTML5, JavaScript
|-
|-
|UI-компоненти
| AJAX
|DataTables для таблиці доменів, Select2 для вибору зони
| Fetch API або Axios
|-
|-
|Друк
| UI-компоненти
|Генерація рахунків у PDF
| DataTables для таблиці доменів, Select2 для вибору зони і клієнта
|-
| Email
| Нагадування про продовження, рахунки, повідомлення про реєстрацію
|-
| API
| Інтеграція з реєстратором доменів, опціонально
|-
| Друк
| Генерація PDF-рахунків
|-
| Експорт
| Excel або PDF для звітів
|}
|}


== Критерії оцінки ==
== Рекомендовані сутності бази даних ==
{| class="wikitable"
 
!Критерій
Для реалізації задачі доцільно передбачити такі сутності:
!Бали
 
* клієнти;
* контактні особи;
* доменні зони;
* домени;
* заявки на домени;
* статуси доменів;
* NS-сервери;
* DNS-записи;
* рахунки;
* рядки рахунків;
* оплати;
* нагадування;
* історія операцій;
* API-провайдери;
* особистий кабінет;
* email-шаблони;
* журнал змін;
* звіти;
* права доступу.
 
== Практичне завдання ==
 
У межах атестації потрібно продемонструвати робочий сценарій.
 
Мінімальний сценарій:
 
# створити клієнта;
# створити доменні зони;
# створити заявку на реєстрацію домену;
# перевірити доступність домену;
# сформувати рахунок на реєстрацію;
# зареєструвати оплату;
# створити домен зі статусом '''«Активний»''';
# вказати дату реєстрації і дату завершення;
# додати NS-сервери;
# додати DNS-запис A;
# додати DNS-запис MX або TXT;
# сформувати нагадування за 30 днів до завершення;
# сформувати рахунок на продовження;
# зареєструвати оплату продовження;
# продовжити домен на новий період;
# перевірити зміну дати завершення;
# переглянути історію операцій по домену;
# перевірити домен у кабінеті клієнта;
# сформувати звіт доменів, що завершуються;
# сформувати звіт прострочених доменів;
# сформувати звіт доходів по доменах;
# перевірити журнал змін.
 
== Критерії оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Критерій
! Бали
! Що перевіряється
|-
|-
|Реалізація бази клієнтів, зон доменів і доменів
| Реалізація бази клієнтів, зон доменів і доменів
|20
| 20
| Клієнти, доменні зони, домени, статуси, дати реєстрації та завершення
|-
|-
|Процес реєстрації і продовження доменів
| Процес реєстрації і продовження доменів
|20
| 20
| Заявка, перевірка доступності, рахунок, оплата, реєстрація, продовження, зміна дати завершення
|-
|-
|Сповіщення про закінчення доменів
| Сповіщення про закінчення доменів
|20
| 20
| Нагадування за 30, 15, 5 днів, повідомлення про прострочення і успішне продовження
|-
|-
|Виставлення рахунків і облік оплат
| Виставлення рахунків і облік оплат
|20
| 20
| PDF-рахунки, статуси рахунків, часткова або повна оплата, прив’язка оплати до домену
|-
|-
|Інтерактивність через AJAX і особистий кабінет клієнта
| Інтерактивність через AJAX і особистий кабінет клієнта
|20
| 20
| AJAX-перевірка, оновлення статусів, кабінет клієнта, перегляд доменів, DNS і рахунків
|-
! Разом
! 100
! Максимальна оцінка
|}
|}
== Шкала оцінювання ==
{| class="wikitable" style="width:100%;"
! Бали
! Рівень
! Опис
|-
| 90–100
| Відмінно
| Модуль повністю працює: клієнти, доменні зони, домени, реєстрація, продовження, DNS, рахунки, оплати, нагадування, кабінет і звіти реалізовані коректно
|-
| 75–89
| Добре
| Основна логіка працює, є незначні недоліки, які не руйнують процес обліку доменів
|-
| 60–74
| Зараховано
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
|-
| 0–59
| Не зараховано
| Відсутня критична логіка: клієнти, домени, дати завершення, продовження, рахунки або нагадування
|}
== Критичні помилки ==
Критичними помилками вважаються ситуації, коли:
* неможливо створити клієнта;
* неможливо створити доменну зону;
* неможливо створити домен;
* домен не має дати завершення;
* домен не прив’язується до клієнта;
* неможливо сформувати рахунок на реєстрацію;
* неможливо зареєструвати оплату;
* оплачений домен не переводиться в активний статус;
* неможливо продовжити домен;
* дата завершення не змінюється після продовження;
* нагадування про завершення не створюються;
* прострочені домени не відображаються в звіті;
* клієнт бачить чужі домени в особистому кабінеті;
* зміна NS або DNS не логуються, якщо ця функція заявлена;
* звіти не відповідають фактичним доменам, рахункам і оплатам.
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл реєстратора: клієнт → заявка → домен → рахунок → оплата → реєстрація → нагадування → продовження → звіт.
</div>
== Очікуваний результат ==
У результаті виконання атестаційного завдання має бути створений модуль реєстратора доменів у K2 ERP.
Модуль має підтримувати клієнтів, доменні зони, домени, заявки, перевірку доступності, реєстрацію, продовження, NS-сервери, DNS-записи, рахунки, оплати, нагадування про завершення, особистий кабінет клієнта, історію операцій, API-інтеграції, звіти, AJAX-інтерактив і логування змін.


== Примітка ==
== Примітка ==
Реєстратор доменів — критично важлива система для:


* ІТ-компаній;
Модуль реєстратора доменів потрібен хостинг-провайдерам, ІТ-компаніям, веб-студіям, датацентрам, маркетплейсам і компаніям, які обслуговують велику кількість доменів клієнтів.
* хостинг-провайдерів;
 
* маркетплейсів.
Вчасне нагадування, правильний облік строків і автоматизація рахунків мінімізують ризик втрати доменних імен та підвищують якість обслуговування клієнтів.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Модуль реєстрації, продовження і обліку доменних імен
|-
| Які довідники потрібні?
| Клієнти, доменні зони, домени
|-
| Який головний облік?
| Дати реєстрації, дати завершення, статуси доменів і продовження
|-
| Які операції потрібні?
| Реєстрація, продовження, зміна NS, DNS-записи, трансфер опціонально
|-
| Що має робити система перед завершенням домену?
| Надсилати нагадування і формувати рахунок на продовження
|-
| Які документи потрібні?
| Рахунок на реєстрацію або продовження
|-
| Які звіти потрібні?
| Домени, що завершуються, прострочені домени, доходи по доменах, домени по клієнтах
|-
| Що є критичною вимогою?
| Після продовження домену дата завершення має оновлюватися
|}
 
== Див. також ==
 
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Датацентр, інтернет-провайдер]]
* [[Білінг]]
* [[Домен]]
* [[DNS]]
* [[Хостинг]]
* [[Рахунок на оплату]]
* [[Особистий кабінет]]
* [[Заборгованість]]
* [[Email-сповіщення]]
* [[AJAX]]


Вчасне нагадування і облік термінів доменів мінімізує ризик втрати імен.
[[Категорія:K2 ERP]]
[[Категорія:Атестаційні завдання K2]]
[[Категорія:Реєстратор доменів]]
[[Категорія:Домени]]
[[Категорія:DNS]]
[[Категорія:Білінг]]
[[Категорія:Корпоративна Wiki]]