Атестаційні завдання K2 ERP/Інтернет-магазин

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


Атестаційне завдання K2 ERP — Інтернет-магазин — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля онлайн-продажів, інтегрованого з ERP-системою.

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

Коротко. Потрібно реалізувати інтернет-магазин на базі K2 ERP: каталог товарів, сторінку товару, кошик, оформлення замовлення, оплату, журнал замовлень, зміну статусів, списання залишків і адміністративне керування товарами.

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

Модуль Інтернет-магазин: управління товарами, кошиком, замовленнями та оплатою.

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

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

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

  • вести каталог товарів;
  • керувати категоріями;
  • створювати сторінки товарів;
  • завантажувати фото й медіафайли;
  • показувати залишки товарів;
  • додавати товари в кошик;
  • оформлювати замовлення;
  • приймати оплату онлайн або при отриманні;
  • автоматично змінювати статус замовлення після оплати;
  • зменшувати залишки після покупки;
  • повідомляти покупця та співробітників про нове замовлення;
  • керувати товарами, категоріями й замовленнями з адміністративної частини;
  • завантажувати велику кількість товарів через CSV або Excel.

Головний принцип. Інтернет-магазин у K2 ERP — це не окрема “вітрина”, яка живе сама по собі. Це частина ERP: товар, ціна, залишок, замовлення, оплата, клієнт і склад мають бути пов’язані в одній системі.

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

Компанія хоче продавати товари через власний сайт, не використовуючи сторонні маркетплейси або окремі SaaS-платформи.

Покупець повинен зайти на сайт, знайти товар у каталозі, переглянути картку товару, додати позиції в кошик, оформити замовлення, обрати спосіб оплати та отримати підтвердження.

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

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

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

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

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

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

Довідник «Категорії товарів»

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

Категорії повинні підтримувати ієрархію. Наприклад:

  • Електроніка;
  • Електроніка → Ноутбуки;
  • Електроніка → Смартфони;
  • Одяг → Чоловічий одяг;
  • Одяг → Жіночий одяг.

Поля категорії товарів

Поле Опис
Назва категорії Назва, яку бачить покупець
Батьківська категорія Для побудови ієрархії каталогу
Сортування Порядок показу категорій
URL Частина адреси категорії
Title SEO-заголовок категорії
Description SEO-опис категорії
Статус Активна або прихована

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

Довідник товарів містить усі товари, які можуть продаватися через інтернет-магазин.

Товар повинен мати не лише назву й ціну, а й опис, артикул, фото, статус, залишок, SEO-поля та зв’язок із категоріями.

Поля товару

Поле Опис
Назва товару Основна назва товару
Опис товару HTML-опис через WYSIWYG-редактор
Код товару або артикул Внутрішній код, SKU або артикул
Категорія Категорія каталогу
Ціна Основна ціна продажу
Акційна ціна Опціональна знижена ціна
Залишок на складі Доступна кількість товару
Статус товару Активний або прихований
Прев’ю-зображення Основне фото товару
Додаткові фото Галерея зображень товару
SEO title SEO-заголовок сторінки товару
SEO description SEO-опис сторінки товару
URL Адреса сторінки товару

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

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

Критично. Прихований або архівний товар не повинен бути доступний для покупки. Товар без залишку не повинен продаватися, якщо в системі не дозволено продаж “під замовлення”.

Фронтенд магазину для покупців

Фронтенд магазину — це публічна частина, яку бачить покупець.

Вона повинна бути простою, зрозумілою та швидкою: каталог, фільтри, пошук, сторінка товару, кошик і оформлення замовлення.

Каталог товарів

Каталог товарів повинен підтримувати:

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

Сторінка товару

Сторінка товару повинна містити всю інформацію, необхідну для прийняття рішення про покупку.

На сторінці товару потрібно показати:

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

Акційні товари

Потрібно передбачити окрему категорію або фільтр «Акції» для товарів з акційною ціною.

Акційний товар має показувати основну ціну й акційну ціну. Покупець повинен чітко бачити, що товар продається зі знижкою.

Кошик

Кошик повинен підтримувати:

  • перелік товарів у кошику;
  • кількість кожного товару;
  • ціну товару;
  • суму по кожному рядку;
  • загальну суму замовлення;
  • можливість змінити кількість товару;
  • можливість видалити товар із кошика;
  • автоматичний перерахунок загальної суми;
  • кнопку «Оформити замовлення».

Важливо. Кількість у кошику не повинна перевищувати доступний залишок, якщо продаж понад залишок не дозволений правилами магазину.

Оформлення замовлення

Форма оформлення замовлення повинна містити контактні дані покупця, адресу доставки, коментар і спосіб оплати.

Поля форми замовлення

Поле Опис
Ім’я та прізвище покупця Хто оформлює замовлення
Телефон Основний контактний номер
Email Email для підтвердження замовлення
Адреса доставки Куди потрібно доставити товар
Коментар до замовлення Додаткова інформація від покупця
Спосіб оплати Оплата при отриманні або онлайн

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

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

Потрібно передбачити щонайменше два способи оплати:

Спосіб оплати Опис
Оплата при отриманні Покупець оплачує товар під час отримання
Оплата онлайн Покупець оплачує замовлення через платіжну систему

Інтеграція з платіжною системою

Потрібно реалізувати підключення до однієї з популярних платіжних платформ:

  • WayForPay;
  • LiqPay;
  • Stripe;
  • інша платіжна система.

Після успішної оплати система повинна автоматично змінювати статус замовлення.

Платіж має бути пов’язаний із замовленням, сумою, способом оплати, датою, статусом і відповіддю платіжної системи.

Статуси платежу

Статус Значення
Очікує оплати Замовлення створене, але оплата ще не проведена
Оплачено Платіж успішно підтверджено платіжною системою
Помилка оплати Платіж не пройшов
Повернено Оплату повернуто покупцю

Журнал замовлень в адміністративній частині

Журнал замовлень повинен бути доступний в адміністративній частині K2 ERP.

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

Колонки журналу замовлень

Колонка Опис
Номер замовлення Унікальний номер замовлення
Дата замовлення Дата й час оформлення
Покупець Ім’я покупця або клієнта
Телефон Контактний номер покупця
Email Email покупця
Сума Загальна сума замовлення
Статус Нове, в обробці, відправлено, завершено, скасовано
Тип оплати Оплата при отриманні або онлайн
Статус платежу Очікує оплати, оплачено, помилка, повернено

Статуси замовлення

Статус Значення
Нове Замовлення щойно створено
В обробці Менеджер прийняв замовлення в роботу
Відправлено Замовлення передано на доставку
Завершено Замовлення виконано
Скасовано Замовлення скасовано

Функціональність журналу замовлень

Журнал замовлень має підтримувати:

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

Деталі замовлення

У картці замовлення потрібно показати:

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

Робота із залишками

Інтернет-магазин має бути пов’язаний зі складським обліком.

Система повинна:

  • відображати залишки в реальному часі;
  • не дозволяти купити товар у кількості, більшій за доступний залишок;
  • автоматично зменшувати залишок товару після покупки або після підтвердження замовлення — залежно від налаштувань;
  • показувати статус «Немає в наявності»;
  • підтримувати окремі склади, якщо магазин працює з кількома складами.

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

Email-сповіщення

Потрібно реалізувати email-сповіщення.

Email покупцю

Після оформлення замовлення покупець має отримати підтвердження.

У листі потрібно показати:

  • номер замовлення;
  • дату;
  • список товарів;
  • суму;
  • спосіб оплати;
  • адресу доставки;
  • контактну інформацію магазину.

Email співробітникам

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

У листі потрібно показати:

  • номер замовлення;
  • покупця;
  • телефон;
  • суму;
  • спосіб оплати;
  • список товарів;
  • посилання на замовлення в адмінці.

Адміністративний інтерфейс

Адміністративний інтерфейс повинен підтримувати керування товарами, категоріями, фото, залишками та замовленнями.

Керування товарами

Адміністративний інтерфейс має підтримувати:

  • додавання товарів через AJAX;
  • редагування товарів через AJAX;
  • видалення товарів через AJAX;
  • завантаження фото товарів;
  • редагування опису через WYSIWYG-редактор;
  • зміну ціни;
  • зміну акційної ціни;
  • зміну статусу товару;
  • управління SEO-полями.

Керування категоріями

Категоріями потрібно керувати без перезавантаження сторінки.

Потрібно реалізувати:

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

Імпорт товарів CSV або Excel

Потрібно реалізувати завантаження великої кількості товарів через CSV або Excel.

Імпорт має підтримувати:

  • назву товару;
  • артикул;
  • категорію;
  • опис;
  • ціну;
  • акційну ціну;
  • залишок;
  • статус;
  • SEO-поля;
  • посилання або назву фото, якщо це передбачено форматом.

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

Медіафайли товарів

Для товарів потрібно реалізувати завантаження зображень через FilePond або аналогічний інструмент.

Медіаблок має підтримувати:

  • основне фото;
  • додаткові фото;
  • видалення фото;
  • сортування фото;
  • прив’язку фото до товару;
  • прев’ю фото в адміністративній частині.

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

Ключові дії мають виконуватися без зайвого перезавантаження сторінок.

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

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

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

Параметр Опис
Бекенд K2 ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Fetch або Axios
UI-компоненти DataTables, Select2, WYSIWYG-редактор для опису товару
Платіжні шлюзи WayForPay, LiqPay або Stripe
Медіа Завантаження зображень через FilePond або аналог
Імпорт CSV або Excel

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

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

  • категорії товарів;
  • товари;
  • фото товарів;
  • залишки товарів;
  • склади;
  • кошики;
  • рядки кошика;
  • замовлення;
  • рядки замовлення;
  • покупці;
  • способи оплати;
  • платежі;
  • статуси замовлень;
  • історія зміни статусів;
  • email-сповіщення;
  • імпорт товарів;
  • SEO-налаштування.

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

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

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

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

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

Критерій Бали Що перевіряється
Реалізація довідника товарів і категорій 20 Категорії, товари, ціни, акції, фото, SEO, статуси
Робота кошика і оформлення замовлення 20 Додавання товарів, зміна кількості, перерахунок сум, форма замовлення
Інтеграція з платіжною системою 20 Онлайн-оплата, статус платежу, зв’язок платежу із замовленням
Журнал замовлень і управління статусами 20 Адмінка, фільтри, деталі замовлення, статуси, історія змін
Інтерактивність через AJAX 10 Каталог, кошик, адмінка, товари, категорії, замовлення без перезавантаження
Збереження структури і логіки бізнес-процесів 10 Зв’язок магазину зі складом, залишками, оплатами, покупцями й статусами
Разом 100 Максимальна оцінка

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

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

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

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

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

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

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

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

Модуль має підтримувати каталог товарів і категорій, сторінки товарів, кошик, оформлення замовлення, онлайн-оплату, журнал замовлень, управління статусами, email-сповіщення, облік залишків, акційні товари, імпорт CSV/Excel та AJAX-адміністрування.

Примітка

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

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

Коротко

Питання Відповідь
Що потрібно створити? Модуль інтернет-магазину
Які довідники потрібні? Категорії товарів і товари
Що має бачити покупець? Каталог, сторінку товару, кошик і форму оформлення замовлення
Які способи оплати потрібні? Оплата при отриманні та онлайн-оплата
Які платіжні системи можна використати? WayForPay, LiqPay, Stripe або іншу платіжну систему
Що має бути в адмінці? Товари, категорії, замовлення, статуси, платежі, імпорт і залишки
Що має працювати через AJAX? Товари, категорії, кошик, замовлення, зміна статусів і завантаження фото
Що є критичною вимогою? Повний цикл онлайн-продажу з оплатою, статусами й залишками

Див. також