Разработка мобильного Android-приложения для персонального подбора продуктов питания
|
ВВЕДЕНИЕ 6
ГЛОССАРИЙ 9
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.1. Анализ стандартов учета штрих-кодов 10
1.2. Обзор решений для распознавания штрих-кодов на Android .... 11
1.2.1. ZXing 11
1.2.2. Firebase ML Kit 12
1.3. Обзор существующих аналогов 12
1.3.1. VegCode 12
1.3.2. Food Scanner 14
1.3.3. OpenFoodFacts 15
2. ТРЕБОВАНИЯ К СИСТЕМЕ 18
2.1. Функциональные требования 18
2.2. Нефункциональные требования 20
3. АРХИТЕКТУРА СИСТЕМЫ 21
3.1. Взаимодействие между клиентом и сервером 21
3.2. Компоненты системы 22
3.2.1. Модели (models) 23
3.2.2. Представления (views) 23
3.2.3. Контроллеры (controllers) 24
3.2.4. Другие компоненты системы 24
3.3. Архитектура базы данных 25
4. РЕАЛИЗАЦИЯ СИСТЕМЫ 28
4.1. Реализация компонентов сервера 28
4.2. Реализация мобильного приложения 32
5. ТЕСТИРОВАНИЕ 39
5.1. Функциональное тестирование сервера 39
5.2. Функциональное тестирование приложения 40
ЗАКЛЮЧЕНИЕ 43
ЛИТЕРАТУРА 44
ПРИЛОЖЕНИЯ 46
ПРИЛОЖЕНИЕ А 46
ГЛОССАРИЙ 9
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 10
1.1. Анализ стандартов учета штрих-кодов 10
1.2. Обзор решений для распознавания штрих-кодов на Android .... 11
1.2.1. ZXing 11
1.2.2. Firebase ML Kit 12
1.3. Обзор существующих аналогов 12
1.3.1. VegCode 12
1.3.2. Food Scanner 14
1.3.3. OpenFoodFacts 15
2. ТРЕБОВАНИЯ К СИСТЕМЕ 18
2.1. Функциональные требования 18
2.2. Нефункциональные требования 20
3. АРХИТЕКТУРА СИСТЕМЫ 21
3.1. Взаимодействие между клиентом и сервером 21
3.2. Компоненты системы 22
3.2.1. Модели (models) 23
3.2.2. Представления (views) 23
3.2.3. Контроллеры (controllers) 24
3.2.4. Другие компоненты системы 24
3.3. Архитектура базы данных 25
4. РЕАЛИЗАЦИЯ СИСТЕМЫ 28
4.1. Реализация компонентов сервера 28
4.2. Реализация мобильного приложения 32
5. ТЕСТИРОВАНИЕ 39
5.1. Функциональное тестирование сервера 39
5.2. Функциональное тестирование приложения 40
ЗАКЛЮЧЕНИЕ 43
ЛИТЕРАТУРА 44
ПРИЛОЖЕНИЯ 46
ПРИЛОЖЕНИЕ А 46
Актуальность темы работы
В настоящее время существует множество видов ограничений в употреблении продуктов питания. Причиной таких ограничений могут быть, например, религиозные убеждения, этические соображения или медицинские противопоказания.
К ограничениям рациона по этическим причинам относят такие режимы питания, как вегетарианство и веганство. По оценкам BusinesStat, продажи продуктов для веганов в России до 2018 года росли темпами 18,632,2% в год: в 2014-2018 гг. предложение продуктов для веганов на российском рынке выросло в 2,5 раза. В период 2019-2023 гг. предложение продуктов для веганов на российском рынке продолжит расти на 27,230,5% в год [1]. Это свидетельствует о росте спроса на продукты растительного происхождения в России. По различным данным, в России насчитывается до 4% вегетарианцев [5] и около 2,2% веганов [2].
Помимо этических соображений, причиной ограничения рациона может быть вероисповедание. Наиболее распространенные в России религиозные ограничения - пост (у православных христиан), халяль (у мусульман) и кашрут (у иудеев). По данным опроса Левада-Центра, около 65-68% опрошенных людей исповедуют православие, около 7% - ислам, и около 1% - иудаизм [6]. При этом по данным опроса Всероссийского центра изучения общественного мнения (ВЦИОМ), около 25% опрошенных людей соблюдают православные посты, и около 50% из них отказываются от продуктов животного происхождения на время поста [3].
Также частыми причинами ограничения рациона являются различные непереносимости. Например, у 16% населения России есть непереносимость лактозы [7]. Помимо лактозы встречаются непереносимости глютена, кофеина, салицилатов, аминов и других компонентов.
Но наиболее серьезной причиной ограничения рациона является пищевая аллергия. Употребление в пищу продуктов, содержащих аллерген, может повлечь за собой серьезные последствия для аллергика. В качестве аллергенов чаще всего выступают орехи, морепродукты, яйца, молоко, бобовые, злаки, цитрусовые и мед. По данным ВОЗ, за последние десять лет заболеваемость аллергией в России возросла на 20%.
Из всего вышесказанного следует, что в России проживает большое количество людей, которые по тем или иным причинам отказываются от употребления определенных продуктов питания (периодически или на постоянной основе). Однако современный ритм жизни не всегда позволяет тратить время на тщательный анализ состава продуктов питания. Также в спешке можно недостаточно внимательно прочитать состав продукта.
Данная работа направлена на создание мобильного приложения, обеспечивающего персональный подбор продуктов питания в зависимости от ограничений в рационе. Приложение предлагает пользователю персональный список продуктов питания, разбитых на категории. Отличительной особенностью данного приложения является функция вынесения вердикта по штрих-коду продукта: пользователь сканирует штрих-код продукта, а система выносит краткий вердикт по данному продукту (разрешается или нет) в зависимости от ограничений пользователя.
Цель и задачи
Целью данной работы является разработка мобильного приложения на платформе Android, предназначенного для персонального подбора продуктов питания.
Для достижения цели работы, необходимо решить следующие задачи:
1) провести анализ предметной области;
2) выполнить обзор существующих решений на рынке мобильных приложений;
3) определить требования к разрабатываемой системе и разработать варианты ее использования;
4) разработать архитектуру мобильного приложения;
5) разработать архитектуру базы данных для хранения сведений о продуктах питания;
6) разработать мобильное приложение на платформе Android;
7) спроектировать и разработать REST-сервис для удаленного доступа к базе данных;
8) выполнить тестирование системы.
Объем и структура работы
Общий объем работы составляет 48 страниц, основная часть работы содержит 5 глав. Объем библиографии составляет 22 источника.
Краткое содержание работы
В первой главе, «Анализ предметной области» приведены основные понятия предметной области работы и обзор существующих приложений по персональному подбору продуктов питания.
Во второй главе, «Требования к системе», описаны требования к системе, актеры и варианты использования системы ChoFood.
В третьей главе, «Архитектура системы», представлена архитектура системы и ее описание.
В четвертой главе, «Реализация системы», описаны используемые технологии, и представлены результаты реализации системы .
В пятой главе, «Тестирование», приведены результаты тестирования системы.
В заключении представлены результаты работы и направления дальнейшего развития.
В настоящее время существует множество видов ограничений в употреблении продуктов питания. Причиной таких ограничений могут быть, например, религиозные убеждения, этические соображения или медицинские противопоказания.
К ограничениям рациона по этическим причинам относят такие режимы питания, как вегетарианство и веганство. По оценкам BusinesStat, продажи продуктов для веганов в России до 2018 года росли темпами 18,632,2% в год: в 2014-2018 гг. предложение продуктов для веганов на российском рынке выросло в 2,5 раза. В период 2019-2023 гг. предложение продуктов для веганов на российском рынке продолжит расти на 27,230,5% в год [1]. Это свидетельствует о росте спроса на продукты растительного происхождения в России. По различным данным, в России насчитывается до 4% вегетарианцев [5] и около 2,2% веганов [2].
Помимо этических соображений, причиной ограничения рациона может быть вероисповедание. Наиболее распространенные в России религиозные ограничения - пост (у православных христиан), халяль (у мусульман) и кашрут (у иудеев). По данным опроса Левада-Центра, около 65-68% опрошенных людей исповедуют православие, около 7% - ислам, и около 1% - иудаизм [6]. При этом по данным опроса Всероссийского центра изучения общественного мнения (ВЦИОМ), около 25% опрошенных людей соблюдают православные посты, и около 50% из них отказываются от продуктов животного происхождения на время поста [3].
Также частыми причинами ограничения рациона являются различные непереносимости. Например, у 16% населения России есть непереносимость лактозы [7]. Помимо лактозы встречаются непереносимости глютена, кофеина, салицилатов, аминов и других компонентов.
Но наиболее серьезной причиной ограничения рациона является пищевая аллергия. Употребление в пищу продуктов, содержащих аллерген, может повлечь за собой серьезные последствия для аллергика. В качестве аллергенов чаще всего выступают орехи, морепродукты, яйца, молоко, бобовые, злаки, цитрусовые и мед. По данным ВОЗ, за последние десять лет заболеваемость аллергией в России возросла на 20%.
Из всего вышесказанного следует, что в России проживает большое количество людей, которые по тем или иным причинам отказываются от употребления определенных продуктов питания (периодически или на постоянной основе). Однако современный ритм жизни не всегда позволяет тратить время на тщательный анализ состава продуктов питания. Также в спешке можно недостаточно внимательно прочитать состав продукта.
Данная работа направлена на создание мобильного приложения, обеспечивающего персональный подбор продуктов питания в зависимости от ограничений в рационе. Приложение предлагает пользователю персональный список продуктов питания, разбитых на категории. Отличительной особенностью данного приложения является функция вынесения вердикта по штрих-коду продукта: пользователь сканирует штрих-код продукта, а система выносит краткий вердикт по данному продукту (разрешается или нет) в зависимости от ограничений пользователя.
Цель и задачи
Целью данной работы является разработка мобильного приложения на платформе Android, предназначенного для персонального подбора продуктов питания.
Для достижения цели работы, необходимо решить следующие задачи:
1) провести анализ предметной области;
2) выполнить обзор существующих решений на рынке мобильных приложений;
3) определить требования к разрабатываемой системе и разработать варианты ее использования;
4) разработать архитектуру мобильного приложения;
5) разработать архитектуру базы данных для хранения сведений о продуктах питания;
6) разработать мобильное приложение на платформе Android;
7) спроектировать и разработать REST-сервис для удаленного доступа к базе данных;
8) выполнить тестирование системы.
Объем и структура работы
Общий объем работы составляет 48 страниц, основная часть работы содержит 5 глав. Объем библиографии составляет 22 источника.
Краткое содержание работы
В первой главе, «Анализ предметной области» приведены основные понятия предметной области работы и обзор существующих приложений по персональному подбору продуктов питания.
Во второй главе, «Требования к системе», описаны требования к системе, актеры и варианты использования системы ChoFood.
В третьей главе, «Архитектура системы», представлена архитектура системы и ее описание.
В четвертой главе, «Реализация системы», описаны используемые технологии, и представлены результаты реализации системы .
В пятой главе, «Тестирование», приведены результаты тестирования системы.
В заключении представлены результаты работы и направления дальнейшего развития.
В рамках данной работы было разработано Android-приложение для персонального подбора продуктов питания. При этом были решены следующие задачи:
1) проведен анализ предметной области;
2) проведен обзор аналогов на рынке мобильных приложений;
3) определены требования к системе и разработаны варианты ее использования;
4) разработана архитектура мобильного приложения;
5) разработана архитектура базы данных для хранения сведений о продуктах питания;
6) разработано мобильное приложение на платформе Android;
7) спроектирован и разработан REST-сервис для удаленного доступа к базе данных;
8) проведено тестирование системы.
Планируется дальнейшее развитие проекта, включающее в себя следующие пункты:
1) разработка инструмента для модераторов, позволяющего в упрощенной форме добавлять новые продукты в базу данных;
2) пополнение базы данных новыми продуктами;
3) размещение разработанного приложения в магазине Google Play;
4) добавление в приложение новых ограничений в рационе.
1) проведен анализ предметной области;
2) проведен обзор аналогов на рынке мобильных приложений;
3) определены требования к системе и разработаны варианты ее использования;
4) разработана архитектура мобильного приложения;
5) разработана архитектура базы данных для хранения сведений о продуктах питания;
6) разработано мобильное приложение на платформе Android;
7) спроектирован и разработан REST-сервис для удаленного доступа к базе данных;
8) проведено тестирование системы.
Планируется дальнейшее развитие проекта, включающее в себя следующие пункты:
1) разработка инструмента для модераторов, позволяющего в упрощенной форме добавлять новые продукты в базу данных;
2) пополнение базы данных новыми продуктами;
3) размещение разработанного приложения в магазине Google Play;
4) добавление в приложение новых ограничений в рационе.





