Мобильное приложения для сканирования этикеток
О проекте: описание и задача
Перед нами встала задача по разработке мобильного приложения, с помощью которого можно было бы сканировать этикетки товаров, а точнее — состав, указанный на этих этикетках.
Сегодня тема расшифровки состава продуктов довольно актуальна, ведь в подавляющем большинстве в составы включены различные добавки: ароматизаторы, эмульгаторы, стабилизаторы, консерванты и другие. Обычно эти добавки обозначены цифробуквенным кодом, который мы обычно называем «ешки». Есть как опасные или допустимые, так и абсолютно безопасные добавки, например Е-450 или пирофосфат натрия.
Запомнить огромное количество кодов невозможно, носить с собой список-шпаргалку тоже непрактично. Поэтому мы создали сканер, который может определять и расшифровывать различные добавки из состава продуктов. Это как Google-объектив, но только для шопинга.
Решение: технологии и плагины
Разработав приложение Food Additive Scanner для Android, мы решили 3 важных задачи:
- Обеспечили распознавание пищевых добавок прямо с этикетки.
- Внедрили возможность определения опасности продукта, исходя из его состава.
- Настроили расшифровку и создали подробное описание возможных добавок. Также мы обеспечили стабильное подключение камеры смартфона.
Дизайн
И, конечно же, мы уделили должное внимание дизайну, сделав его приятным и современным, задействовав векторную графику продуктовой тематики.
Для обозначения степени опасности продуктов мы использовали классическую цветовую гамму светофора: красный — «Опасно», оранжевый — «Не рекомендуется», зеленый — Безопасно.
- Async Storage — глобальная для всего приложения асинхронная, незашифрованная и постоянная система хранения ключей и значений. Обычно Async Storage используют вместо LocalStorage, которое синхронно, поэтому работает медленнее и имеет существенные ограничения по лимиту хранимых данных.
- Stack Navigation — удобная система перемещения между экранами, которая позволяет вернуться назад и выйти в главное меню приложения.
- MLKit OCR — мобильный SDK от компании Google с достаточно широкими базовыми возможностями.
Мы использовали MLKit только для считывания и распознавания состава продуктов, но в целом и общем он может распознавать лица, объекты, штрих-коды и т.д. MLKit удобен тем, что может определять язык текста и переводить тексты на устройстве, а также он гарантирует быстрый ответ. Помимо «коробочного» варианта MLKit, есть поддержка кастомных моделей, что дает программистам практически неограниченные возможности — можно внедрить массу функций, например, раскрашивание фото и т.п.
Выводы
Разработка мобильных приложений приложений-сканеров все чаще требуется в сфере торговли и бизнеса. Подобное ПО способно решать различные задачи — от считывания QR-кодов до расшифровки текста на этикетках. Грамотно подобранный нами пакет технологий в конкретном случае полностью смог закрыть потребности поставленной перед нами задачи.