Атестаційні завдання K2 ERP/Домашній склад
Атестаційне завдання K2 ERP — Домашній склад — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні простого модуля обліку особистих речей, домашніх запасів, продуктів, інструментів, техніки, побутової хімії та матеріалів.
Модуль має допомагати користувачу знати, що є вдома, де саме це зберігається, скільки залишилось, що потрібно докупити, у яких речей закінчується термін придатності та які предмети були переміщені, використані або списані.
Коротко. Потрібно реалізувати модуль домашнього складу: категорії речей, локації зберігання, предмети, кількість, одиниці виміру, фото, придбання, використання, переміщення, списання, терміни придатності, мінімальні залишки, нагадування, звіти й AJAX-інтерактив.
Назва завдання
Модуль обліку особистих речей, запасів і товарів на домашньому складі.
Мета завдання
Мета завдання — створити в K2 ERP простий модуль для обліку домашніх речей і запасів.
Система повинна дозволяти:
- вести категорії речей;
- вести локації зберігання;
- створювати картки предметів;
- додавати фото речей;
- фіксувати кількість;
- вказувати одиницю виміру;
- вести дату придбання;
- зберігати орієнтовну вартість;
- контролювати терміни придатності;
- встановлювати мінімальні залишки;
- реєструвати придбання;
- списувати використані речі;
- переміщувати речі між локаціями;
- вести історію операцій;
- формувати список покупок;
- отримувати нагадування про низький залишок;
- отримувати нагадування про закінчення терміну придатності;
- формувати звіти по залишках, категоріях, локаціях і прострочених речах.
Головний принцип. Користувач має швидко відповісти на три питання: що є вдома, де воно лежить і чи потрібно це докупити або використати до завершення терміну придатності.
Реальний життєвий контекст
У домі часто накопичується багато речей: продукти, побутова хімія, інструменти, одяг, техніка, батарейки, лампочки, медикаменти, будматеріали, кабелі, сезонні речі, документи, запаси для ремонту або дачі.
Без системного обліку виникають типові проблеми:
- складно згадати, де лежить потрібна річ;
- купуються дублікати речей, які вже є вдома;
- продукти або витратні матеріали псуються;
- запаси побутової хімії закінчуються раптово;
- інструменти губляться між гаражем, коморою і квартирою;
- складно планувати покупки;
- важко контролювати речі великої сім’ї.
Домашній склад допомагає тримати порядок і планувати покупки без зайвих витрат.
Основний процес роботи
Типовий процес роботи з домашнім складом виглядає так:
- користувач створює категорії речей;
- створює локації зберігання;
- додає предмет або запас;
- вказує кількість, одиницю виміру і місце зберігання;
- додає дату придбання і термін придатності, якщо потрібно;
- встановлює мінімальний залишок;
- при використанні речі списує кількість;
- при купівлі додає нову кількість;
- при перенесенні речі змінює локацію;
- система показує низькі залишки і речі з терміном придатності, що закінчується;
- користувач формує список покупок або звіт по залишках.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Категорії речей | Групування предметів: продукти, хімія, інструменти, техніка тощо |
| Локації зберігання | Кімната, шафа, полиця, комора, гараж, підвал |
| Предмети | Конкретні речі або запаси |
| Одиниці виміру | шт., кг, г, л, мл, м, м², упаковка |
| Операції | Придбання, використання, переміщення, списання |
| Фото | Зображення речі або місця зберігання |
| Нагадування | Повідомлення про низький залишок або термін придатності |
| Список покупок | Що потрібно докупити |
| Звіти | Залишки, категорії, локації, терміни придатності, списання |
Довідник «Категорії речей»
Категорії допомагають швидко групувати речі.
Приклади категорій
- продукти харчування;
- побутова хімія;
- інструменти;
- одяг;
- електроніка;
- меблі;
- матеріали для ремонту;
- медикаменти;
- батарейки та акумулятори;
- лампочки;
- кабелі та зарядні пристрої;
- документи;
- сезонні речі;
- товари для дітей;
- товари для тварин;
- автотовари;
- сад і дача.
Поля категорії
| Поле | Опис |
|---|---|
| Назва категорії | Наприклад: Продукти, Інструменти, Побутова хімія |
| Батьківська категорія | Для вкладених категорій, опціонально |
| Опис | Коротке пояснення |
| Активність | Чи використовується категорія |
Довідник «Локації зберігання»
Локації дозволяють точно знати, де лежить предмет.
Приклади локацій
- кухня;
- холодильник;
- морозильна камера;
- комора;
- шафа;
- полиця;
- ящик;
- спальня;
- дитяча кімната;
- ванна кімната;
- гараж;
- підвал;
- балкон;
- дача;
- автомобіль.
Ієрархія локацій
Локації бажано зробити ієрархічними.
Приклад
- Квартира
- Кухня
- Шафа №1
- Полиця 2
- Шафа №1
- Комора
- Стелаж 1
- Гараж
- Ящик з інструментами
- Кухня
Поля локації
| Поле | Опис |
|---|---|
| Назва локації | Наприклад: Комора, Гараж, Полиця 2 |
| Батьківська локація | Для побудови структури |
| Тип локації | Кімната, шафа, полиця, коробка, гараж, підвал |
| Опис | Додаткові пояснення |
| Фото | Опціонально, фото полиці або місця зберігання |
Довідник «Одиниці виміру»
Одиниці виміру потрібні для коректного обліку запасів.
Приклади одиниць
- шт.;
- кг;
- г;
- л;
- мл;
- м;
- м²;
- упаковка;
- коробка;
- банка;
- пляшка;
- рулон;
- комплект.
База «Речі/Предмети»
Це головна база модуля.
Колонки бази
| Колонка | Опис |
|---|---|
| Назва предмета | Що зберігається |
| Категорія | До якої групи належить |
| Локація | Де лежить |
| Кількість | Скільки є |
| Одиниця виміру | У чому вимірюється |
| Дата придбання | Коли куплено |
| Орієнтовна вартість | Скільки коштувало |
| Термін придатності | Якщо застосовується |
| Мінімальний залишок | Коли потрібно докупити |
| Статус | У наявності, використано, списано, вийшло з ладу |
Поля предмета
| Поле | Опис |
|---|---|
| Назва | Назва речі або запасу |
| Категорія | Група предмета |
| Локація | Місце зберігання |
| Кількість | Поточний залишок |
| Одиниця виміру | шт., кг, л тощо |
| Мінімальний залишок | Кількість, нижче якої потрібне поповнення |
| Дата придбання | Коли куплено |
| Орієнтовна вартість | Вартість предмета або запасу |
| Термін придатності | Для продуктів, батарейок, хімії, медикаментів |
| Фото | Зображення предмета |
| Штрихкод / QR-код | Опціонально для швидкого пошуку |
| Статус | У наявності, використано, списано, зламано, загублено |
| Примітки | Додаткові коментарі |
Статуси предметів
| Статус | Значення |
|---|---|
| У наявності | Річ є на складі |
| Використано | Запас повністю використано |
| Частково використано | Частина запасу ще лишилась |
| Переміщено | Річ перенесено в іншу локацію |
| Списано | Річ більше не використовується |
| Вийшло з ладу | Техніка або предмет зламані |
| Загублено | Річ не знайдено |
Операції з речами
Модуль має підтримувати основні операції.
Типи операцій
- придбання;
- додавання залишку;
- використання;
- часткове списання;
- повне списання;
- переміщення;
- зміна локації;
- зміна терміну придатності;
- інвентаризація;
- повернення на склад.
Операція «Придбання»
Операція збільшує залишок предмета.
Поля придбання
| Поле | Опис |
|---|---|
| Предмет | Що придбано |
| Кількість | Скільки додано |
| Дата придбання | Коли куплено |
| Вартість | Сума покупки |
| Локація | Куди покладено |
| Термін придатності | Якщо є |
| Коментар | Додаткова інформація |
Операція «Використання»
Операція зменшує залишок предмета.
Приклади використання
- використано 1 упаковку макаронів;
- використано 500 мл мийного засобу;
- взято 2 батарейки;
- використано 5 шурупів;
- витрачено 1 рулон паперу.
Операція «Переміщення»
Переміщення змінює місце зберігання предмета.
Поля переміщення
| Поле | Опис |
|---|---|
| Предмет | Що переміщується |
| Звідки | Стара локація |
| Куди | Нова локація |
| Кількість | Скільки переміщується |
| Дата | Коли переміщено |
| Коментар | Примітка |
Операція «Списання»
Списання використовується для речей, які більше не придатні або не потрібні.
Причини списання
- використано;
- зіпсувалося;
- закінчився термін придатності;
- зламалося;
- загубилося;
- передано іншій людині;
- викинуто;
- продано;
- інша причина.
Контроль термінів придатності
Для продуктів, медикаментів, батарейок, побутової хімії та інших витратних матеріалів важливо контролювати термін придатності.
Система повинна показувати
- предмети, термін яких уже закінчився;
- предмети, термін яких закінчується найближчим часом;
- кількість днів до завершення терміну;
- локацію, де лежить предмет;
- рекомендацію використати або списати.
Критично. Предмети з простроченим терміном придатності мають бути помітно виділені в списку, щоб користувач не пропустив їх під час перегляду запасів.
Мінімальні залишки
Для часто використовуваних речей можна встановлювати мінімальний залишок.
Приклади речей із мінімальним залишком
- туалетний папір;
- мийні засоби;
- крупи;
- макарони;
- корм для тварин;
- батарейки;
- лампочки;
- пакети для сміття;
- засоби гігієни.
Логіка мінімального залишку
Якщо поточна кількість менша або дорівнює мінімальному залишку, система має показати предмет у списку поповнення.
Список покупок
Список покупок формується вручну або автоматично.
Джерела формування списку покупок
- предмети з низьким залишком;
- предмети, які закінчуються;
- предмети, які користувач додав вручну;
- товари, які часто списуються;
- сезонні запаси.
Поля списку покупок
| Поле | Опис |
|---|---|
| Предмет | Що потрібно купити |
| Кількість | Скільки потрібно |
| Одиниця виміру | шт., кг, л тощо |
| Пріоритет | Низький, середній, високий |
| Коментар | Примітка |
| Статус | Заплановано, куплено, скасовано |
Фото, QR-коди і штрихкоди
Опціонально модуль може підтримувати фото предметів, QR-коди або штрихкоди.
Можливості
- додати фото предмета;
- додати фото місця зберігання;
- шукати товар за штрихкодом;
- згенерувати QR-код для коробки або полиці;
- швидко відкрити список речей у конкретній коробці;
- надрукувати етикетки для коробок.
Інвентаризація
Інвентаризація допомагає звірити фактичну наявність речей.
Поля інвентаризації
| Поле | Опис |
|---|---|
| Дата | Коли проводиться перевірка |
| Локація | Що перевіряється |
| Предмет | Яка річ звіряється |
| Кількість у системі | Обліковий залишок |
| Фактична кількість | Реально знайдена кількість |
| Різниця | Надлишок або нестача |
| Коментар | Пояснення |
Нагадування
Система має формувати нагадування.
Типи нагадувань
- закінчується термін придатності;
- термін придатності вже закінчився;
- низький залишок;
- потрібно провести інвентаризацію;
- давно не використовувалась річ;
- потрібно докупити запас;
- потрібно перевірити батарейки або акумулятори.
Звіти
Звіт «Поточні залишки»
У звіті потрібно відображати:
- назву предмета;
- категорію;
- локацію;
- кількість;
- одиницю виміру;
- статус;
- примітки.
Звіт «Речі за категоріями»
У звіті потрібно відображати:
- категорію;
- кількість предметів;
- загальну орієнтовну вартість;
- перелік речей.
Звіт «Речі за локаціями»
У звіті потрібно відображати:
- локацію;
- предмети в цій локації;
- кількість;
- категорію;
- статус.
Звіт «Термін придатності закінчується»
У звіті потрібно відображати:
- предмет;
- категорію;
- локацію;
- кількість;
- термін придатності;
- кількість днів до завершення;
- статус.
Звіт «Низькі залишки»
У звіті потрібно відображати:
- предмет;
- поточний залишок;
- мінімальний залишок;
- рекомендовану кількість для покупки;
- локацію.
Звіт «Списані речі»
У звіті потрібно відображати:
- предмет;
- кількість;
- причину списання;
- дату списання;
- коментар.
AJAX-інтерактив
Інтерфейс має працювати швидко й без перезавантаження сторінок.
Через AJAX мають працювати:
- пошук речей;
- фільтрація за категорією;
- фільтрація за локацією;
- створення предмета;
- додавання фото;
- придбання;
- використання;
- переміщення;
- списання;
- оновлення залишку;
- формування списку покупок;
- фільтрація звітів;
- перевірка термінів придатності.
Простота інтерфейсу
Оскільки модуль призначений для домашнього використання, інтерфейс має бути максимально простим.
Обов’язкові принципи UX
- швидке додавання речі;
- мінімум обов’язкових полів;
- зручний пошук;
- зрозуміла структура локацій;
- помітні нагадування;
- швидке списання;
- швидке переміщення;
- зручний список покупок;
- можливість перегляду з телефону.
Логування змін
Модуль повинен фіксувати основні дії.
Журнал змін має зберігати:
- хто створив предмет;
- хто змінив кількість;
- хто перемістив предмет;
- хто списав предмет;
- хто змінив локацію;
- хто змінив термін придатності;
- хто додав фото;
- хто додав предмет у список покупок;
- дату й час дії;
- старе та нове значення, якщо це можливо.
Права доступу
Для домашнього складу можна реалізувати просту модель доступу.
| Роль | Можливості |
|---|---|
| Власник | Повний доступ до всіх речей, локацій, звітів і налаштувань |
| Член сім’ї | Додає речі, списує використання, переглядає залишки |
| Перегляд | Може тільки дивитися список речей і локацій |
| Адміністратор | Налаштовує категорії, локації, права і службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Fetch API або Axios |
| UI-компоненти | DataTables для списку речей, Select2 для категорій і локацій |
| Фото | Завантаження фото предметів і локацій |
| Штрихкод / QR | Опціональна підтримка пошуку або маркування коробок |
| Друк | PDF або Excel-список речей, список покупок, етикетки для коробок |
| Експорт | CSV, Excel або PDF, опціонально |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- категорії речей;
- локації зберігання;
- одиниці виміру;
- предмети;
- фото предметів;
- операції руху;
- придбання;
- використання;
- переміщення;
- списання;
- інвентаризація;
- список покупок;
- нагадування;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити категорії речей;
- створити ієрархію локацій;
- створити одиниці виміру;
- створити предмет;
- додати фото предмета;
- вказати кількість і локацію;
- вказати термін придатності;
- вказати мінімальний залишок;
- виконати операцію придбання;
- перевірити збільшення залишку;
- виконати операцію використання;
- перевірити зменшення залишку;
- перемістити предмет в іншу локацію;
- списати частину предмета;
- створити предмет із терміном придатності, що завершується;
- перевірити нагадування про термін придатності;
- створити предмет із низьким залишком;
- перевірити автоматичне додавання до списку покупок або попередження;
- сформувати звіт поточних залишків;
- сформувати звіт за категоріями;
- сформувати звіт за локаціями;
- сформувати звіт термінів придатності;
- сформувати список покупок;
- перевірити журнал змін.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація обліку речей і локацій | 20 | Категорії, ієрархія локацій, предмети, одиниці виміру, фото, статуси |
| Операції придбання, списання, переміщення | 20 | Придбання, використання, переміщення, списання, зміна залишків, історія операцій |
| Нагадування про закінчення термінів | 20 | Терміни придатності, прострочені речі, низькі залишки, список покупок |
| Звіти по залишках і категоріях | 20 | Поточні залишки, категорії, локації, низькі залишки, списані речі |
| Інтерактивність через AJAX і зручність обліку | 20 | Швидкий пошук, фільтри, додавання, переміщення, списання, мобільна зручність |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: категорії, локації, речі, фото, операції, терміни, нагадування, список покупок, звіти й AJAX реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не заважають вести домашній склад |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: речі, локації, операції, залишки, терміни або звіти |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити категорію;
- неможливо створити локацію;
- неможливо створити предмет;
- предмет не має кількості;
- предмет не має локації;
- придбання не збільшує залишок;
- використання не зменшує залишок;
- переміщення не змінює локацію;
- списання не змінює статус або залишок;
- система не показує прострочені речі;
- система не показує низькі залишки;
- звіти не відповідають фактичним залишкам;
- зміни кількості, локацій і списань не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл домашнього складу: категорія → локація → предмет → придбання → використання → переміщення → списання → нагадування → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль домашнього складу в K2 ERP.
Модуль має підтримувати категорії речей, локації зберігання, одиниці виміру, предмети, фото, придбання, використання, переміщення, списання, інвентаризацію, терміни придатності, мінімальні залишки, список покупок, нагадування, звіти, AJAX-інтерактив і журнал змін.
Примітка
Домашній склад у вигляді невеликого ERP-рішення допомагає тримати речі під контролем, уникати зайвих покупок, краще планувати запаси й швидко знаходити потрібні предмети.
Особливо корисно для великих сімей, приватних будинків, майстерень, гаражів, дач, комор і домогосподарств, які активно запасаються товарами.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль домашнього складу |
| Які довідники потрібні? | Категорії речей, локації, одиниці виміру |
| Який головний об’єкт? | Предмет або запас |
| Які операції потрібні? | Придбання, використання, переміщення, списання, інвентаризація |
| Що потрібно контролювати? | Залишки, локації, терміни придатності, мінімальні запаси |
| Які звіти потрібні? | Поточні залишки, категорії, локації, терміни придатності, низькі залишки |
| Що є критичною вимогою? | Користувач має бачити, що є вдома, де воно лежить і що потрібно докупити |
| Що бажано додати? | Фото, QR-коди, список покупок, мобільну зручність, нагадування |