Перейти до вмісту

Атестаційні завдання K2 ERP/Домашній склад

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні


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

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

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

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

Модуль обліку особистих речей, запасів і товарів на домашньому складі.

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

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

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

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

Головний принцип. Користувач має швидко відповісти на три питання: що є вдома, де воно лежить і чи потрібно це докупити або використати до завершення терміну придатності.

Реальний життєвий контекст

У домі часто накопичується багато речей: продукти, побутова хімія, інструменти, одяг, техніка, батарейки, лампочки, медикаменти, будматеріали, кабелі, сезонні речі, документи, запаси для ремонту або дачі.

Без системного обліку виникають типові проблеми:

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

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

Основний процес роботи

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

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

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

Об’єкт Призначення
Категорії речей Групування предметів: продукти, хімія, інструменти, техніка тощо
Локації зберігання Кімната, шафа, полиця, комора, гараж, підвал
Предмети Конкретні речі або запаси
Одиниці виміру шт., кг, г, л, мл, м, м², упаковка
Операції Придбання, використання, переміщення, списання
Фото Зображення речі або місця зберігання
Нагадування Повідомлення про низький залишок або термін придатності
Список покупок Що потрібно докупити
Звіти Залишки, категорії, локації, терміни придатності, списання

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

Категорії допомагають швидко групувати речі.

Приклади категорій

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

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

Поле Опис
Назва категорії Наприклад: Продукти, Інструменти, Побутова хімія
Батьківська категорія Для вкладених категорій, опціонально
Опис Коротке пояснення
Активність Чи використовується категорія

Довідник «Локації зберігання»

Локації дозволяють точно знати, де лежить предмет.

Приклади локацій

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

Ієрархія локацій

Локації бажано зробити ієрархічними.

Приклад

  • Квартира
    • Кухня
      • Шафа №1
        • Полиця 2
    • Комора
      • Стелаж 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, опціонально

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

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

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

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

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

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

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

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

Критерій Бали Що перевіряється
Реалізація обліку речей і локацій 20 Категорії, ієрархія локацій, предмети, одиниці виміру, фото, статуси
Операції придбання, списання, переміщення 20 Придбання, використання, переміщення, списання, зміна залишків, історія операцій
Нагадування про закінчення термінів 20 Терміни придатності, прострочені речі, низькі залишки, список покупок
Звіти по залишках і категоріях 20 Поточні залишки, категорії, локації, низькі залишки, списані речі
Інтерактивність через AJAX і зручність обліку 20 Швидкий пошук, фільтри, додавання, переміщення, списання, мобільна зручність
Разом 100 Максимальна оцінка

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

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

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

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

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

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

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

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

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

Примітка

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

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

Коротко

Питання Відповідь
Що потрібно створити? Модуль домашнього складу
Які довідники потрібні? Категорії речей, локації, одиниці виміру
Який головний об’єкт? Предмет або запас
Які операції потрібні? Придбання, використання, переміщення, списання, інвентаризація
Що потрібно контролювати? Залишки, локації, терміни придатності, мінімальні запаси
Які звіти потрібні? Поточні залишки, категорії, локації, терміни придатності, низькі залишки
Що є критичною вимогою? Користувач має бачити, що є вдома, де воно лежить і що потрібно докупити
Що бажано додати? Фото, QR-коди, список покупок, мобільну зручність, нагадування

Див. також