Мобильное приложение по управлению складом и каталогизация продукции «АгроСкан»
Работа склада при приёме товаров требует точный учёт поставляемой продукции. Одна из важных процедур в этом процессе — сканирование QR-кодов с упаковки товара, полученной от поставщика. Это используется для автоматизации учёта поступившего товара и проверки его соответствия заявке. В большинстве случаев на складах используются специальные устройства для сканирования, эти устройства выполняют свою работу быстро и точно, но стоить они могут немало, особенно если речь идёт об оборудовании корпоративного уровня. Для небольших компаний, которые не располагают значительным бюджетом на дорогостоящее оборудование, такие расходы могут быть затруднительными.
Проектируемое приложение предоставляет функцию сканирования штрих-кодов и QR-кодов при помощи камеры смартфона. В дополнение к функциям сканирования приложение содержит каталог товаров, который позволяет вести учёт данных о товаре, его весе, цене, описании. Так же функцию инвентаризации товара на складе и генерацию отчетов в виде PDF-файла, по завершении инвентаризации. Приложение выступает доступной и функциональной альтернативой дорогому оборудованию, предоставляя малым и средним складами возможность улучшить свою работу без больших затрат.
- Авторизация пользователей;
- Сканирование QR-кодов;
- Просмотр истории сканирований;
- Добавление записей о товарах в базу данных (категория, подкатегория, название товара, количество и цена);
- Редактирование информации о товарах;
- Удаление ненужных записей;
- Просмотр данных о товарах;
- Поиск товаров по различным параметрам;
- Проведение инвентаризации склада;
- Генерация отчетов по окончании инвентаризации.
Клиентская часть Android – приложение написано на языке Java. Серверная часть проекта была написана с использованием фреймворка FastAPI.
В качестве среды разработки использовалась Android Studio, которая является официальной IDE для Android.
Для серверной стороны выбраны FastAPI и Uvicorn.
Одной из основных возможностей является сканирование qr–кодов, которое осуществляется с помощью библиотеки com.journeyapps:zxing-android-embedded.
Для создания отчетов используется PdfDocument из Android SDK, который предоставляет возможность генерировать pdf файлы. FileOutputStream служит для сохранения сгенерированных документов на устройстве, что упрощает процесс работы с отчетами и их последующее использование.
В качестве основной системы управления базами данных была выбрана PostgreSQL, которая гарантирует надежное хранение и управление данными. В FastAPI используется SQLAlchemy в качестве библиотеки orm.
На данный момент в некоторых организациях используются устаревшие методы учета – бумажные журналы или разрозненные электронные таблицы. Такие методы затрудняют поиск информации, увеличивают риск ошибок и не позволяют эффективно контролировать товар на складе. Так же Алтайский край - крупнейший аграрный субъект Российской Федерации, поэтому приложение точно пригодится на его родине - множество малых предприятий смогут позволить себе "АгроСкан" для эффективного учета и продажи своей продукции.
Язык Java отличается высокой производительной красочностью и является стандартом разработки под Android, что позволяет использовать множество библиотек и инструментов. Также Java поддерживает объектно-ориентированный подход, что сделало намного проще написание масштабируемого и поддерживаемого кода. Библиотека же FastAPI позволяет быстро создавать RESTful API с асинхронной обработкой запросов, что делает приложение еще более производительным.
Android Studio предоставляет инструменты для разработки, отладки и тестирования Android–приложений. Она поддерживает различные функции, такие как автоматическую проверку кода и интеграцию с системами управления версиями, что ускоряет процесс разработки и упрощает управление проектом.
Uvicorn является ASGI– сервером, обеспечивая высокую производительность и поддержку асинхронных операций, что важно для обеспечения быстрого и эффективного отклика API на запросы.
Библиотека com.journeyapps:zxing-android-embedded предоставляет методы для распознавания qr–кодов, что позволяет пользователям легко и быстро получать необходимую информацию.
Каталог товаров представлен с помощью контейнера RecyclerView, который обеспечивает эффективное управление большими объемами данных. Это позволяет добиться плавной прокрутки и динамического обновления содержимого. LinearLayoutManager, применяемый совместно с RecyclerView, устанавливает вертикальное или горизонтальное расположение элементов в списке, что способствует улучшению логики отображения данных.
PdfDocument из Android SDK позволяет визуально оформлять отчеты, который составляет текст и графику в pdf документе. FileOutputStream служит для сохранения сгенерированных документов на устройстве, что упрощает процесс работы с отчетами и их последующее использование.
PostgreSQL гарантирует надежное хранение и управление данными. В FastAPI используется SQLAlchemy в качестве библиотеки orm, что позволяет разработчикам эффективно взаимодействовать с базой данных, минимизируя необходимость в прямом написании SQL–запросов. Это способствует упрощению процесса кодирования, а также улучшает читаемость и удобство поддержки кода.