Атестаційні завдання K2 ERP/Інтернет-магазин: відмінності між версіями
R (обговорення | внесок) Пененос з Гугл док. |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
'''Атестаційне завдання K2 ERP — Інтернет-магазин''' — практична задача для розробника K2 ERP | {{DISPLAYTITLE:Атестаційні завдання K2 ERP/Інтернет-магазин}} | ||
'''Атестаційне завдання K2 ERP — Інтернет-магазин''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля онлайн-продажів, інтегрованого з ERP-системою. | |||
Модуль має забезпечувати управління каталогом товарів, категоріями, кошиком, оформленням замовлень, онлайн-оплатою, залишками, медіафайлами, email-сповіщеннями та адміністративним інтерфейсом. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати інтернет-магазин на базі K2 ERP: каталог товарів, сторінку товару, кошик, оформлення замовлення, оплату, журнал замовлень, зміну статусів, списання залишків і адміністративне керування товарами. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль Інтернет-магазин: управління товарами, кошиком, замовленнями та оплатою'''. | '''Модуль Інтернет-магазин: управління товарами, кошиком, замовленнями та оплатою'''. | ||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль інтернет-магазину, який дозволяє компанії продавати товари онлайн і при цьому не відривати сайт від облікової системи. | |||
Система повинна дозволяти: | |||
* вести каталог товарів; | |||
* керувати категоріями; | |||
* створювати сторінки товарів; | |||
* завантажувати фото й медіафайли; | |||
* показувати залишки товарів; | |||
* додавати товари в кошик; | |||
* оформлювати замовлення; | |||
* приймати оплату онлайн або при отриманні; | |||
* автоматично змінювати статус замовлення після оплати; | |||
* зменшувати залишки після покупки; | |||
* повідомляти покупця та співробітників про нове замовлення; | |||
* керувати товарами, категоріями й замовленнями з адміністративної частини; | |||
* завантажувати велику кількість товарів через CSV або Excel. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Інтернет-магазин у K2 ERP — це не окрема “вітрина”, яка живе сама по собі. Це частина ERP: товар, ціна, залишок, замовлення, оплата, клієнт і склад мають бути пов’язані в одній системі. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
Компанія хоче продавати товари через власний сайт, не використовуючи сторонні маркетплейси або окремі SaaS-платформи. | |||
Покупець повинен зайти на сайт, знайти товар у каталозі, переглянути картку товару, додати позиції в кошик, оформити замовлення, обрати спосіб оплати та отримати підтвердження. | |||
Менеджер у K2 ERP має бачити замовлення в адміністративній частині, контролювати статус, оплату, залишки, відправлення та історію змін. | |||
== | == Основний бізнес-процес == | ||
Типовий процес роботи інтернет-магазину виглядає так: | |||
==== | # адміністратор створює категорії товарів; | ||
# додає товари, фото, ціни, описи та SEO-поля; | |||
# система показує товари на сайті; | |||
# покупець відкриває каталог або сторінку товару; | |||
# додає товар у кошик; | |||
# змінює кількість товарів у кошику; | |||
# переходить до оформлення замовлення; | |||
# вводить контактні дані та адресу доставки; | |||
# обирає спосіб оплати; | |||
# система створює замовлення; | |||
# покупець отримує email-підтвердження; | |||
# співробітники отримують повідомлення про нове замовлення; | |||
# після успішної оплати статус змінюється автоматично; | |||
# товар списується із залишків згідно з правилами обліку; | |||
# менеджер обробляє, відправляє та завершує замовлення. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Категорії товарів | |||
| Ієрархія каталогу інтернет-магазину | |||
|- | |||
| Товари | |||
| Основні одиниці продажу | |||
|- | |||
| Фото товарів | |||
| Прев’ю та додаткові зображення товару | |||
|- | |||
| Залишки товарів | |||
| Дані про доступну кількість товару на складах | |||
|- | |||
| Склади | |||
| Місця зберігання товарів | |||
|- | |||
| Кошик | |||
| Тимчасовий список товарів, які покупець хоче придбати | |||
|- | |||
| Рядки кошика | |||
| Конкретні товари, кількість і суми в кошику | |||
|- | |||
| Замовлення | |||
| Основний документ онлайн-продажу | |||
|- | |||
| Рядки замовлення | |||
| Товари, кількість, ціни й суми в замовленні | |||
|- | |||
| Покупці | |||
| Дані клієнтів, які оформили замовлення | |||
|- | |||
| Способи оплати | |||
| Оплата при отриманні, онлайн-оплата та інші варіанти | |||
|- | |||
| Платежі | |||
| Дані про оплату замовлення | |||
|- | |||
| Статуси замовлень | |||
| Поточний стан обробки замовлення | |||
|- | |||
| Email-сповіщення | |||
| Повідомлення покупцям і співробітникам | |||
|- | |||
| Імпорт товарів | |||
| Масове завантаження товарів із CSV або Excel | |||
|- | |||
| SEO-налаштування | |||
| URL, Title, Description для категорій і товарів | |||
|} | |||
* | == Довідник «Категорії товарів» == | ||
* | |||
* | Довідник категорій товарів потрібен для побудови каталогу інтернет-магазину. | ||
* SEO-поля: | |||
Категорії повинні підтримувати ієрархію. Наприклад: | |||
* Електроніка; | |||
* Електроніка → Ноутбуки; | |||
* Електроніка → Смартфони; | |||
* Одяг → Чоловічий одяг; | |||
* Одяг → Жіночий одяг. | |||
== Поля категорії товарів == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва категорії | |||
| Назва, яку бачить покупець | |||
|- | |||
| Батьківська категорія | |||
| Для побудови ієрархії каталогу | |||
|- | |||
| Сортування | |||
| Порядок показу категорій | |||
|- | |||
| URL | |||
| Частина адреси категорії | |||
|- | |||
| Title | |||
| SEO-заголовок категорії | |||
|- | |||
| Description | |||
| SEO-опис категорії | |||
|- | |||
| Статус | |||
| Активна або прихована | |||
|} | |||
== Довідник «Товари» == | |||
Довідник товарів містить усі товари, які можуть продаватися через інтернет-магазин. | |||
Товар повинен мати не лише назву й ціну, а й опис, артикул, фото, статус, залишок, SEO-поля та зв’язок із категоріями. | |||
== Поля товару == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва товару | |||
| Основна назва товару | |||
|- | |||
| Опис товару | |||
| HTML-опис через WYSIWYG-редактор | |||
|- | |||
| Код товару або артикул | |||
| Внутрішній код, SKU або артикул | |||
|- | |||
| Категорія | |||
| Категорія каталогу | |||
|- | |||
| Ціна | |||
| Основна ціна продажу | |||
|- | |||
| Акційна ціна | |||
| Опціональна знижена ціна | |||
|- | |||
| Залишок на складі | |||
| Доступна кількість товару | |||
|- | |||
| Статус товару | |||
| Активний або прихований | |||
|- | |||
| Прев’ю-зображення | |||
| Основне фото товару | |||
|- | |||
| Додаткові фото | |||
| Галерея зображень товару | |||
|- | |||
| SEO title | |||
| SEO-заголовок сторінки товару | |||
|- | |||
| SEO description | |||
| SEO-опис сторінки товару | |||
|- | |||
| URL | |||
| Адреса сторінки товару | |||
|} | |||
== Статуси товару == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Активний | |||
| Товар доступний у каталозі | |||
|- | |||
| Прихований | |||
| Товар не показується покупцям, але зберігається в системі | |||
|- | |||
| Немає в наявності | |||
| Товар можна показувати, але не можна купити | |||
|- | |||
| Архівний | |||
| Товар більше не продається | |||
|} | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Прихований або архівний товар не повинен бути доступний для покупки. Товар без залишку не повинен продаватися, якщо в системі не дозволено продаж “під замовлення”. | |||
</div> | |||
== Фронтенд магазину для покупців == | |||
Фронтенд магазину — це публічна частина, яку бачить покупець. | |||
Вона повинна бути простою, зрозумілою та швидкою: каталог, фільтри, пошук, сторінка товару, кошик і оформлення замовлення. | |||
== | == Каталог товарів == | ||
Каталог товарів повинен підтримувати: | Каталог товарів повинен підтримувати: | ||
| Рядок 54: | Рядок 251: | ||
* фільтрацію за наявністю; | * фільтрацію за наявністю; | ||
* фільтрацію за акційними пропозиціями; | * фільтрацію за акційними пропозиціями; | ||
* пошук товарів по назві або | * пошук товарів по назві; | ||
* пошук товарів по коду або артикулу; | |||
* сортування за ціною; | |||
* сортування за назвою; | |||
* сортування за популярністю або датою додавання, якщо така логіка реалізована. | |||
== Сторінка товару == | |||
Сторінка товару повинна містити: | |||
Сторінка товару повинна містити всю інформацію, необхідну для прийняття рішення про покупку. | |||
На сторінці товару потрібно показати: | |||
* фото з можливістю збільшення; | * фото з можливістю збільшення; | ||
* додаткові фото; | |||
* назву товару; | * назву товару; | ||
* артикул або код; | |||
* опис; | * опис; | ||
* ціну; | * ціну; | ||
* кнопку '''«Додати у кошик»'''. | * акційну ціну, якщо вона є; | ||
* наявність; | |||
* кнопку '''«Додати у кошик»'''; | |||
* пов’язані або рекомендовані товари, опціонально. | |||
== Акційні товари == | |||
Потрібно передбачити окрему категорію або фільтр '''«Акції»''' для товарів з акційною ціною. | |||
Акційний товар має показувати основну ціну й акційну ціну. Покупець повинен чітко бачити, що товар продається зі знижкою. | |||
== Кошик == | |||
Кошик повинен підтримувати: | Кошик повинен підтримувати: | ||
* перелік товарів у кошику; | * перелік товарів у кошику; | ||
* кількість кожного товару; | |||
* ціну товару; | |||
* суму по кожному рядку; | |||
* загальну суму замовлення; | |||
* можливість змінити кількість товару; | * можливість змінити кількість товару; | ||
* можливість видалити товар із кошика; | |||
* автоматичний перерахунок загальної суми; | * автоматичний перерахунок загальної суми; | ||
* кнопку '''«Оформити замовлення»'''. | * кнопку '''«Оформити замовлення»'''. | ||
=== | <div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | ||
Форма оформлення замовлення повинна містити: | '''Важливо.''' Кількість у кошику не повинна перевищувати доступний залишок, якщо продаж понад залишок не дозволений правилами магазину. | ||
</div> | |||
== Оформлення замовлення == | |||
Форма оформлення замовлення повинна містити контактні дані покупця, адресу доставки, коментар і спосіб оплати. | |||
== Поля форми замовлення == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Ім’я та прізвище покупця | |||
| Хто оформлює замовлення | |||
|- | |||
| Телефон | |||
| Основний контактний номер | |||
|- | |||
| Email | |||
| Email для підтвердження замовлення | |||
|- | |||
| Адреса доставки | |||
| Куди потрібно доставити товар | |||
|- | |||
| Коментар до замовлення | |||
| Додаткова інформація від покупця | |||
|- | |||
| Спосіб оплати | |||
| Оплата при отриманні або онлайн | |||
|} | |||
Після оформлення система повинна створити замовлення в адміністративній частині та надіслати підтвердження покупцю. | |||
== Способи оплати == | |||
Потрібно передбачити щонайменше два способи оплати: | |||
{| class="wikitable" style="width:100%;" | |||
! Спосіб оплати | |||
! Опис | |||
|- | |||
| Оплата при отриманні | |||
| Покупець оплачує товар під час отримання | |||
|- | |||
| Оплата онлайн | |||
| Покупець оплачує замовлення через платіжну систему | |||
|} | |||
== Інтеграція з платіжною системою == | |||
Потрібно реалізувати підключення до однієї з популярних платіжних платформ: | Потрібно реалізувати підключення до однієї з популярних платіжних платформ: | ||
| Рядок 91: | Рядок 351: | ||
* LiqPay; | * LiqPay; | ||
* Stripe; | * Stripe; | ||
* | * інша платіжна система. | ||
Після успішної оплати статус замовлення повинен | Після успішної оплати система повинна автоматично змінювати статус замовлення. | ||
Платіж має бути пов’язаний із замовленням, сумою, способом оплати, датою, статусом і відповіддю платіжної системи. | |||
== Статуси платежу == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Очікує оплати | |||
| Замовлення створене, але оплата ще не проведена | |||
|- | |||
| Оплачено | |||
| Платіж успішно підтверджено платіжною системою | |||
|- | |||
| Помилка оплати | |||
| Платіж не пройшов | |||
|- | |||
| Повернено | |||
| Оплату повернуто покупцю | |||
|} | |||
== Журнал замовлень в адміністративній частині == | |||
Журнал замовлень повинен бути доступний в адміністративній частині K2 ERP. | |||
Менеджер має бачити всі замовлення, їхні статуси, покупців, суми, спосіб оплати та поточний етап обробки. | |||
== Колонки журналу замовлень == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Номер замовлення | |||
| Унікальний номер замовлення | |||
|- | |||
| Дата замовлення | |||
| Дата й час оформлення | |||
|- | |||
| Покупець | |||
| Ім’я покупця або клієнта | |||
|- | |||
| Телефон | |||
| Контактний номер покупця | |||
|- | |||
| Email | |||
| Email покупця | |||
|- | |||
| Сума | |||
| Загальна сума замовлення | |||
|- | |||
| Статус | |||
| Нове, в обробці, відправлено, завершено, скасовано | |||
|- | |||
| Тип оплати | |||
| Оплата при отриманні або онлайн | |||
|- | |||
| Статус платежу | |||
| Очікує оплати, оплачено, помилка, повернено | |||
|} | |||
=== | == Статуси замовлення == | ||
== | {| class="wikitable" style="width:100%;" | ||
! Статус | |||
! Значення | |||
|- | |||
| Нове | |||
| Замовлення щойно створено | |||
|- | |||
| В обробці | |||
| Менеджер прийняв замовлення в роботу | |||
|- | |||
| Відправлено | |||
| Замовлення передано на доставку | |||
|- | |||
| Завершено | |||
| Замовлення виконано | |||
|- | |||
| Скасовано | |||
| Замовлення скасовано | |||
|} | |||
== Функціональність журналу замовлень == | |||
Журнал замовлень має підтримувати: | Журнал замовлень має підтримувати: | ||
* фільтрацію за статусом; | * фільтрацію за статусом; | ||
* фільтрацію за періодом; | * фільтрацію за періодом; | ||
* фільтрацію за типом оплати; | |||
* фільтрацію за статусом платежу; | |||
* пошук за номером замовлення; | |||
* пошук за телефоном або email покупця; | |||
* перегляд деталей замовлення; | * перегляд деталей замовлення; | ||
* зміну статусу замовлення. | * зміну статусу замовлення; | ||
* перегляд історії зміни статусів; | |||
* експорт списку замовлень, якщо потрібно. | |||
== Деталі замовлення == | |||
У картці замовлення потрібно показати: | |||
* дані покупця; | |||
* адресу доставки; | |||
* спосіб оплати; | |||
* статус платежу; | |||
* список товарів; | |||
* кількість; | |||
* ціни; | |||
* суми; | |||
* загальну суму; | |||
* коментар покупця; | |||
* історію зміни статусів. | |||
== Робота із залишками == | |||
Інтернет-магазин має бути пов’язаний зі складським обліком. | |||
Система повинна: | |||
* відображати залишки в реальному часі; | |||
* не дозволяти купити товар у кількості, більшій за доступний залишок; | |||
* автоматично зменшувати залишок товару після покупки або після підтвердження замовлення — залежно від налаштувань; | |||
* показувати статус '''«Немає в наявності»'''; | |||
* підтримувати окремі склади, якщо магазин працює з кількома складами. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Правильна логіка.''' Замовлення в інтернет-магазині має впливати на облік залишків. Якщо товар продано, система повинна відобразити це у складському обліку. | |||
</div> | |||
== Email-сповіщення == | |||
Потрібно реалізувати email-сповіщення. | |||
== Email покупцю == | |||
Після оформлення замовлення покупець має отримати підтвердження. | |||
У листі потрібно показати: | |||
* номер замовлення; | |||
* дату; | |||
* список товарів; | |||
* суму; | |||
* спосіб оплати; | |||
* адресу доставки; | |||
* контактну інформацію магазину. | |||
== Email співробітникам == | |||
Співробітники магазину повинні отримати повідомлення про нове замовлення. | |||
У листі потрібно показати: | |||
* номер замовлення; | |||
* покупця; | |||
* телефон; | |||
* суму; | |||
* спосіб оплати; | |||
* список товарів; | |||
* посилання на замовлення в адмінці. | |||
== Адміністративний інтерфейс == | |||
Адміністративний інтерфейс повинен підтримувати керування товарами, категоріями, фото, залишками та замовленнями. | |||
== Керування товарами == | |||
Адміністративний інтерфейс має підтримувати: | |||
* додавання товарів через AJAX; | |||
* редагування товарів через AJAX; | |||
* видалення товарів через AJAX; | |||
* завантаження фото товарів; | |||
* редагування опису через WYSIWYG-редактор; | |||
* зміну ціни; | |||
* зміну акційної ціни; | |||
* зміну статусу товару; | |||
* управління SEO-полями. | |||
== Керування категоріями == | |||
Категоріями потрібно керувати без перезавантаження сторінки. | |||
Потрібно реалізувати: | Потрібно реалізувати: | ||
* | * створення категорій; | ||
* | * редагування категорій; | ||
* | * зміну батьківської категорії; | ||
* | * сортування; | ||
* | * приховування категорій; | ||
* керування SEO-полями категорії. | |||
=== | == Імпорт товарів CSV або Excel == | ||
Потрібно реалізувати завантаження великої кількості товарів через CSV або Excel. | |||
* | |||
* видалення | Імпорт має підтримувати: | ||
* | |||
* | * назву товару; | ||
* артикул; | |||
* категорію; | |||
* опис; | |||
* ціну; | |||
* акційну ціну; | |||
* залишок; | |||
* статус; | |||
* SEO-поля; | |||
* посилання або назву фото, якщо це передбачено форматом. | |||
Перед імпортом система повинна перевіряти файл і показувати помилки. | |||
== Медіафайли товарів == | |||
Для товарів потрібно реалізувати завантаження зображень через FilePond або аналогічний інструмент. | |||
Медіаблок має підтримувати: | |||
* основне фото; | |||
* додаткові фото; | |||
* видалення фото; | |||
* сортування фото; | |||
* прив’язку фото до товару; | |||
* прев’ю фото в адміністративній частині. | |||
== AJAX-інтерактив == | |||
Ключові дії мають виконуватися без зайвого перезавантаження сторінок. | |||
Через AJAX мають працювати: | |||
* додавання товару; | |||
* редагування товару; | |||
* видалення товару; | |||
* зміна статусу товару; | |||
* керування категоріями; | |||
* додавання товару в кошик; | |||
* зміна кількості в кошику; | |||
* перерахунок суми кошика; | |||
* оформлення замовлення; | |||
* зміна статусу замовлення; | |||
* завантаження фото товарів. | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | |||
!Параметр | {| class="wikitable" style="width:100%;" | ||
!Опис | ! Параметр | ||
! Опис | |||
|- | |- | ||
|Бекенд | | Бекенд | ||
|K2 ERP на Python або PHP | | K2 ERP на Python або PHP | ||
|- | |- | ||
| | | База даних | ||
|PostgreSQL або MySQL | | PostgreSQL або MySQL | ||
|- | |- | ||
|Фронтенд | | Фронтенд | ||
|HTML5, JavaScript | | HTML5, JavaScript | ||
|- | |- | ||
| | | AJAX | ||
| | | Fetch або Axios | ||
|- | |- | ||
| | | UI-компоненти | ||
| | | DataTables, Select2, WYSIWYG-редактор для опису товару | ||
|- | |- | ||
| | | Платіжні шлюзи | ||
| | | WayForPay, LiqPay або Stripe | ||
|- | |- | ||
| | | Медіа | ||
| | | Завантаження зображень через FilePond або аналог | ||
|- | |- | ||
| Імпорт | |||
| CSV або Excel | |||
|} | |} | ||
== | == Рекомендовані сутності бази даних == | ||
Для реалізації задачі доцільно передбачити такі сутності: | |||
* категорії товарів; | * категорії товарів; | ||
| Рядок 217: | Рядок 650: | ||
* імпорт товарів; | * імпорт товарів; | ||
* SEO-налаштування. | * SEO-налаштування. | ||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити категорію товарів; | |||
# створити товар із ціною, описом, фото й залишком; | |||
# створити акційний товар; | |||
# перевірити відображення товару в каталозі; | |||
# відкрити сторінку товару; | |||
# додати товар у кошик; | |||
# змінити кількість у кошику; | |||
# перевірити автоматичний перерахунок суми; | |||
# оформити замовлення; | |||
# обрати спосіб оплати; | |||
# перевірити створення замовлення в адмінці; | |||
# виконати або змоделювати онлайн-оплату; | |||
# перевірити автоматичну зміну статусу платежу; | |||
# перевірити зміну статусу замовлення; | |||
# перевірити зменшення залишку товару; | |||
# отримати email-підтвердження покупцю; | |||
# отримати email-сповіщення співробітнику; | |||
# імпортувати товари з CSV або Excel; | |||
# змінити товар через AJAX-адмінку; | |||
# показати журнал замовлень із фільтрами. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація довідника товарів і категорій | |||
| 20 | |||
| Категорії, товари, ціни, акції, фото, SEO, статуси | |||
|- | |||
| Робота кошика і оформлення замовлення | |||
| 20 | |||
| Додавання товарів, зміна кількості, перерахунок сум, форма замовлення | |||
|- | |||
| Інтеграція з платіжною системою | |||
| 20 | |||
| Онлайн-оплата, статус платежу, зв’язок платежу із замовленням | |||
|- | |||
| Журнал замовлень і управління статусами | |||
| 20 | |||
| Адмінка, фільтри, деталі замовлення, статуси, історія змін | |||
|- | |||
| Інтерактивність через AJAX | |||
| 10 | |||
| Каталог, кошик, адмінка, товари, категорії, замовлення без перезавантаження | |||
|- | |||
| Збереження структури і логіки бізнес-процесів | |||
| 10 | |||
| Зв’язок магазину зі складом, залишками, оплатами, покупцями й статусами | |||
|- | |||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Інтернет-магазин повністю працює: каталог, кошик, замовлення, оплата, залишки, адмінка, імпорт і сповіщення реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес продажу | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: каталог, кошик, замовлення, оплата, залишки або журнал замовлень | |||
|} | |||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити товар; | |||
* товар не відображається в каталозі; | |||
* неможливо додати товар у кошик; | |||
* сума кошика розраховується неправильно; | |||
* неможливо оформити замовлення; | |||
* замовлення не потрапляє в адміністративну частину; | |||
* статус замовлення не змінюється; | |||
* оплата не пов’язується із замовленням; | |||
* після успішної оплати статус не оновлюється; | |||
* залишки не зменшуються після покупки; | |||
* можна купити товар у кількості, більшій за доступний залишок, якщо це не дозволено правилами; | |||
* покупець не отримує підтвердження; | |||
* співробітники не бачать нового замовлення; | |||
* імпорт товарів спотворює дані або створює дублікати без контролю. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл онлайн-продажу: товар → кошик → оформлення замовлення → оплата → зміна статусу → списання залишку → журнал замовлень. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль інтернет-магазину K2 ERP. | |||
Модуль має підтримувати каталог товарів і категорій, сторінки товарів, кошик, оформлення замовлення, онлайн-оплату, журнал замовлень, управління статусами, email-сповіщення, облік залишків, акційні товари, імпорт CSV/Excel та AJAX-адміністрування. | |||
== Примітка == | |||
Інтернет-магазин є важливим модулем для багатьох бізнесів незалежно від розміру компанії. | |||
Такий модуль допомагає компаніям вийти в онлайн-продажі без залучення сторонніх платформ і при цьому зберегти зв’язок із внутрішнім обліком, складом, оплатами та клієнтською базою. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль інтернет-магазину | |||
|- | |||
| Які довідники потрібні? | |||
| Категорії товарів і товари | |||
|- | |||
| Що має бачити покупець? | |||
| Каталог, сторінку товару, кошик і форму оформлення замовлення | |||
|- | |||
| Які способи оплати потрібні? | |||
| Оплата при отриманні та онлайн-оплата | |||
|- | |||
| Які платіжні системи можна використати? | |||
| WayForPay, LiqPay, Stripe або іншу платіжну систему | |||
|- | |||
| Що має бути в адмінці? | |||
| Товари, категорії, замовлення, статуси, платежі, імпорт і залишки | |||
|- | |||
| Що має працювати через AJAX? | |||
| Товари, категорії, кошик, замовлення, зміна статусів і завантаження фото | |||
|- | |||
| Що є критичною вимогою? | |||
| Повний цикл онлайн-продажу з оплатою, статусами й залишками | |||
|} | |||
== Див. також == | == Див. також == | ||
* [[K2 Cloud ERP|K2 ERP]] | * [[K2 Cloud ERP|K2 ERP]] | ||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | * [[Атестаційні завдання K2 ERP]] | ||
* [[Інтернет-магазин]] | * [[Інтернет-магазин]] | ||
| Рядок 230: | Рядок 817: | ||
* [[Stripe]] | * [[Stripe]] | ||
* [[Складський облік]] | * [[Складський облік]] | ||
* [[Залишки товарів]] | |||
* [[CSV]] | |||
* [[Excel-імпорт]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Інтернет-магазин]] | |||
[[Категорія:Каталог товарів]] | |||
[[Категорія:Онлайн-оплата]] | |||
[[Категорія:Складський облік]] | |||
[[Категорія:Корпоративна Wiki]] | |||