Skip to content
This repository has been archived by the owner on Feb 17, 2023. It is now read-only.

📦 Moscow Pre-professional Olympiad of Schoolchildren. Profile "Information technology". Team case No. 5 "Electronic storehouse"

License

Notifications You must be signed in to change notification settings

W-A-L-L-3/electronic-storehouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Электронный склад

PyPI - Python Version GitHub release (latest by date) GitHub last commit GitHub code size in bytes GitHub

Московская предпрофессиональная олимпиада школьников.

Профиль "Информационные технологии".

Командный кейс №5 "Электронный склад". Исходный текст технического задания

Навигация

Описание проекта

Информационный сервис, обеспечивающий взаимодействие пользователей (операторов) с автоматизированным складом.

Техническая документация

Функциональность

  1. Добавление нескольких позиций из поставки на склад.

  2. Отображение в виде списка позиций (товаров) с указанием ячейки, в которой товар находится на складе (по запросу в пользовательском интерфейсе).

  3. Выбор определенного товара (позиции) для осуществления выдачи его аппаратной частью.

  4. Наличие удалённого склада для позиций, которые невозможно разместить на основном складе.

  5. Отображение в виде списка позиций (товаров), находящихся на удалённом складе.

🔨 Как начать

  1. Установить Python 3

  2. Установить модуль requests: pip install requests

    Инструкция по установке модулей при помощи PIP

  3. Скачать данный репозиторий

    • Вариант 1
      1. Установить Git
      2. Клонировать репозиторий
      git clone https://github.com/W-A-L-L-3/electronic-storehouse
      cd electronic-storehouse
    • Вариант 2 - Скачать ZIP
  4. Запустить ./API/app.py

  5. Запустить ./main.py

Интерфейс приложения

Главное окно

До инициализации склада

main_window_1

1 - Инициализация склада.

Уведомление об успешной инициализации склада:

successful_initialization

После инициализации склада

main_window_2

2 - Добавление нескольких позиций из поставки на склад.

3 - Отображение в виде списка позиций (товаров) с указанием ячейки, в которой товар находится на складе.

4 - Выбор определенного товара (позиции) для осуществления выдачи его аппаратной частью.

5 - Отображение в виде списка позиций (товаров), находящихся на удалённом складе.

Окно для добавления товаров на склад

adding_window_1

1 - Добавить строчку для ещё одного товара.

2 - Отправить все товары на склад.

После двух нажатий кнопки 1:

adding_window_2

Корректный ввод позиций:

adding_window_3

  • Название - непустая строка
  • Размеры - 3 натуральных числа, разделённых "*" (длина*ширина*высота)
  • Масса - натуральное число

Некорректный ввод позиций:

adding_window_4

Уведомление об успешной отправке товаров на склад:

correct_adding

Окно для отображения позиций (товаров), находящихся на складе

info_window

Окно для выбора определенного товара (позиции) для осуществления выдачи его аппаратной частью.

taking_window

При успешном выборе и выдаче товара появится всплывающие уведомление:

correct_taking

Окно для отображения позиций (товаров), находящихся на удалённом складе

remote_info_window

❗ Ошибки

Ошибка получения параметров при инициализации

error_of_getting_parameters

Возможные причины:

  1. Не запущено API (см. пункт 4 раздела Как начать).
  2. Какая-либо ошибка связи с API.

Некорректное значение в каком-либо из полей в поставке

value_error

Товар не найден

taking_error

Причина:

Товара с введённым названием нет на складе.

Код

Папки

  • API - исходный код программной модели аппаратной части (взят с ppo_it_5_2021)
  • server - серверная часть приложения (моделирование работы склада, обращение к API)
  • gui - клиентская часть приложения (графический интерфейс)

Используемые библиотеки

  • tkinter - графический интерфейс приложения
  • json - работа с форматом json
  • uuid - генерация случайного идентификатора товара
  • pickle - хранение объекта модели склада в бинарном режиме
  • requests - составление HTTP-запросов

😄 Авторы

👐 Лицензия

GNU General Public License v3.0.

Полный текст в LICENSE

About

📦 Moscow Pre-professional Olympiad of Schoolchildren. Profile "Information technology". Team case No. 5 "Electronic storehouse"

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages