Атестаційні завдання K2 ERP/Хостинг

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


Атестаційне завдання K2 ERP — Хостинг — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку клієнтів, тарифних планів, серверів, доменів, активних послуг, рахунків, оплат, продовжень, сповіщень і особистого кабінету клієнта для хостинг-провайдера.

Модуль має забезпечувати повний цикл роботи хостингової компанії: клієнт → тариф → послуга → сервер або домен → період дії → рахунок → оплата → продовження → сповіщення → звітність.

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

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

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

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

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

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

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

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

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

Хостингова компанія надає клієнтам цифрові послуги:

  • shared hosting;
  • VPS;
  • VDS;
  • dedicated server;
  • colocation;
  • реєстрація доменів;
  • супровід доменів;
  • DNS-хостинг;
  • SSL-сертифікати;
  • резервне копіювання;
  • поштовий хостинг;
  • адміністрування серверів;
  • додаткові технічні послуги.

Компанії потрібно:

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

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

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

  1. менеджер або клієнт створює обліковий запис;
  2. клієнт обирає тариф;
  3. система створює послугу клієнта;
  4. послуга прив’язується до сервера, домену або IP-адреси;
  5. система формує рахунок;
  6. клієнт оплачує рахунок;
  7. послуга переходить у статус «Активна»;
  8. перед завершенням періоду система надсилає нагадування;
  9. формується рахунок на продовження;
  10. після оплати період дії послуги продовжується;
  11. якщо оплати немає — послуга переходить у статус «Очікує оплату» або «Прострочена»;
  12. адміністратор бачить прострочені послуги у звіті.

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

Об’єкт Призначення
Клієнти Фізичні особи, ФОП або компанії, що купують послуги
Тарифні плани Пакети послуг із цінами та характеристиками
Сервери Фізичні або віртуальні сервери провайдера
IP-адреси Пул адрес, прив’язаний до серверів або клієнтів
Послуги клієнтів Активні або завершені послуги клієнтів
Домени Доменні імена клієнтів
DNS DNS-сервери або DNS-записи, якщо реалізовано
Рахунки Документи для оплати
Оплати Фактичні платежі клієнтів
Продовження Операції продовження послуг
Сповіщення Email або внутрішні повідомлення клієнтам
Тікети підтримки Звернення клієнтів, опціонально
Звіти Аналітика по доходах, послугах, клієнтах і серверах

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

Клієнти — це користувачі або компанії, які купують хостингові послуги.

Типи клієнтів

  • фізична особа;
  • ФОП;
  • юридична особа;
  • корпоративний клієнт;
  • партнер;
  • внутрішній клієнт.

Поля клієнта

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

Довідник «Тарифні плани»

Тарифний план описує послугу, її параметри та вартість.

Типи тарифів

  • shared hosting;
  • VPS;
  • VDS;
  • dedicated server;
  • colocation;
  • domain registration;
  • DNS hosting;
  • email hosting;
  • backup;
  • SSL certificate;
  • administration;
  • інші додаткові послуги.

Поля тарифного плану

Поле Опис
Назва тарифу Наприклад: Hosting Start, VPS 4GB, Dedicated Pro
Тип послуги Хостинг, VPS, домен, сервер, SSL, backup
Опис Короткий опис послуги
Вартість за місяць Ціна за 1 місяць
Вартість за рік Ціна за 12 місяців
Дисковий простір Наприклад: 10 GB, 50 GB, 200 GB
RAM Для VPS / VDS / Dedicated
CPU Кількість ядер або частка CPU
Трафік Ліміт або безліміт
Кількість сайтів Для shared hosting
Кількість баз даних Для shared hosting
Статус Активний, прихований, архівний

Довідник «Сервери»

Сервери потрібні для прив’язки послуг клієнтів до фізичної або віртуальної інфраструктури.

Типи серверів

  • Shared;
  • VPS-node;
  • Dedicated;
  • Backup;
  • DNS;
  • Mail;
  • Database;
  • Storage;
  • Service.

Поля сервера

Поле Опис
Назва сервера Внутрішня назва або hostname
Локація Датацентр або місто
Тип сервера Shared, VPS-node, Dedicated, DNS тощо
IP-адреса Основна IP-адреса
Пул IP Доступні IP-адреси
CPU Характеристика процесора
RAM Обсяг пам’яті
Disk Обсяг дискового простору
Статус Активний, на обслуговуванні, виведений
Коментар Внутрішня примітка

Статуси сервера

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

Довідник «IP-адреси»

IP-адреси використовуються для серверів, VPS, dedicated-серверів або окремих послуг.

Поля IP-адреси

Поле Опис
IP-адреса IPv4 або IPv6
Сервер До якого сервера належить
Клієнт Якщо адреса виділена клієнту
Послуга До якої послуги прив’язана
Статус Вільна, зайнята, резерв, заблокована
Коментар Технічна примітка

База «Послуги клієнтів»

Послуга клієнта — це конкретний активний або завершений продукт, який купив клієнт.

Колонки бази послуг

Колонка Опис
Клієнт Власник послуги
Тип послуги Hosting, VPS, Domain, SSL тощо
Тарифний план Який тариф використовується
Сервер Де розміщена послуга
Домен Якщо послуга пов’язана з доменом
Дата початку Початок дії
Дата завершення Кінець оплаченого періоду
Період оплати Місяць, квартал, рік
Статус Активна, очікує оплату, прострочена, припинена

Поля послуги клієнта

Поле Опис
Номер послуги Унікальний номер
Клієнт Власник послуги
Тариф Обраний тарифний план
Тип послуги Хостинг, VPS, домен, сервер, SSL
Сервер Сервер розміщення
IP-адреса Якщо виділена
Домен Якщо прив’язаний
Дата початку Початок дії послуги
Дата завершення Завершення оплаченого періоду
Автопродовження Так або ні
Період оплати Місяць, квартал, рік
Статус Поточний стан послуги
Коментар Службова примітка

Статуси послуг

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

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

Домени можуть реєструватися провайдером або просто супроводжуватися в системі.

Поля домену

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

Сповіщення по доменах

Система має надсилати нагадування:

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

DNS, опціонально

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

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

  • A;
  • AAAA;
  • CNAME;
  • MX;
  • TXT;
  • NS;
  • SRV.

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

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

Рахунки і оплати

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

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

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

Поля рахунку

Поле Опис
Номер рахунку Унікальний номер
Клієнт Кому виставлено рахунок
Послуга За яку послугу рахунок
Дата рахунку Коли сформовано
Період За який період оплата
Сума Сума до оплати
Валюта UAH, USD, EUR тощо
Оплачено Скільки оплачено
Борг Залишок до оплати
Статус Новий, очікує оплату, частково оплачено, оплачено, прострочено, скасовано

Способи оплати

  • LiqPay;
  • Stripe;
  • PayPal;
  • банківський переказ;
  • ручна оплата;
  • внутрішній баланс клієнта.

Поля оплати

Поле Опис
Клієнт Хто оплатив
Рахунок До якого рахунку прив’язана оплата
Дата оплати Коли отримано оплату
Сума Розмір платежу
Спосіб оплати LiqPay, Stripe, PayPal, вручну тощо
Статус платежу Очікує, успішно, помилка, повернення
Коментар Примітка оператора

Автоматичне продовження послуг

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

Варіанти продовження

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

Логіка продовження

  1. система знаходить послуги, які скоро завершуються;
  2. формує рахунок на продовження;
  3. надсилає клієнту повідомлення;
  4. клієнт оплачує рахунок;
  5. система продовжує дату завершення послуги;
  6. статус послуги оновлюється на «Активна»;
  7. операція потрапляє в журнал змін.

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

Клієнт повинен мати доступ до особистого кабінету.

У кабінеті клієнт бачить

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

Панель адміністратора

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

В адмін-панелі потрібно бачити

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

Тікети підтримки, опціонально

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

Поля тікета

Поле Опис
Клієнт Хто звернувся
Послуга До якої послуги звернення
Тема Короткий опис
Опис Деталі звернення
Пріоритет Низький, середній, високий, критичний
Статус Новий, в роботі, очікує клієнта, закритий
Відповідальний Оператор або адміністратор

SLA, опціонально

Для корпоративних клієнтів можна реалізувати SLA.

SLA може містити

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

Сповіщення

Система має підтримувати email або внутрішні повідомлення.

Події для сповіщень

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

Звіти

Звіт «Активні послуги»

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

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

Звіт «Послуги, що завершуються»

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

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

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

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

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

Звіт «Доходи по тарифах»

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

  • тариф;
  • кількість активних послуг;
  • суму нарахувань;
  • суму оплат;
  • частку в загальному доході.

Звіт «Борги клієнтів»

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

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

Звіт «Завантаження серверів»

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

  • сервер;
  • кількість послуг;
  • кількість клієнтів;
  • використані IP-адреси;
  • статус сервера;
  • коментар адміністратора.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Критерій Бали Що перевіряється
Реалізація бази клієнтів, послуг, тарифів і доменів 20 Клієнти, тарифи, сервери, IP-адреси, послуги клієнтів, домени, DNS
Управління оплатами і рахунками 20 Рахунки, позиції рахунків, часткові оплати, повні оплати, борги, PDF-документи
Контроль продовження послуг і сповіщення 20 Дати завершення, автопродовження, нагадування, прострочені послуги, завершення доменів
Інтерактивність через AJAX і особисті кабінети 20 AJAX-пошук, створення послуг, оплати, продовження, кабінет клієнта, тікети
Масштабованість системи для великої кількості клієнтів 20 Фільтри, звіти, сервери, масове продовження, обробка великої кількості послуг
Разом 100 Максимальна оцінка

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

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

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

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

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

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

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

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

Модуль має підтримувати клієнтів, контактних осіб, тарифні плани, сервери, IP-адреси, послуги клієнтів, домени, DNS-записи, рахунки, оплати, продовження, сповіщення, особистий кабінет, тікети підтримки, SLA, звіти, AJAX-інтерактив і журнал змін.

Примітка

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

Якісне управління послугами підвищує лояльність клієнтів, зменшує кількість помилок і дозволяє масштабувати бізнес без хаосу в оплатах та строках дії послуг.

Коротко

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

Див. також