Разработка бэкэнд-части приложения для составления пищевого рациона
|
Реферат 8
Перечень терминов и условных обозначений 14
Введение 15
Глава 1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 16
1.1. Общая информация 16
1.2. Постановка задачи 18
1.3. Общее описание функций системы 21
Выводы по главе 22
Глава 2. ПРОЕКТИРОВАНИЕ ВЕБ-ПРИЛОЖЕНИЯ 23
2.1. Проектирование информационной системы 23
2.1.1. Диаграмма BPMN 23
2.2. Выбор программно-технических средств 25
2.2.1. Выбор языка программирования серверной части 25
2.2.2. Выбор СУБД 26
2.3. Проектирование базы данных 27
2.3.1. Концептуальное проектирование 27
2.3.2. Логическое проектирование 34
2.3.2.1. Логическая схема предметной области 34
Выводы по главе 36
Глава 3. РАЗРАБОТКА СИСТЕМЫ 37
3.1. Архитектура системы 3 7
3.2. Обработка изображений 40
3.3. Авторизация и регистрация 41
3.4. Пользователи 42
3.5. Измерения 43
3.6. Рецепты 43
3.7. Цель 43
3.8. Уровень активности 44
3.9. Продукт 44
3.10. Рацион 45
3.11. Прием пищи 45
3.12. Категория продукта 4 5
3.13. Деплой приложения 4 5
Выводы по главе 47
Глава 4. АНАЛИЗ РЕЗУЛЬТАТОВ РАЗРАБОТКИ И ТЕСТИРОВАНИЕ 48
4.1. Результат создания базы данных 48
4.2. Тестирование API сервера 48
4.2.1. Авторизация и регистрация 48
4.2.2. Получение данных о пользователе 50
4.2.3. Создание приема пищи 51
4.2.4. Создание рациона 52
4.2.5. Создание рецепта 53
4.2.6. Удаление из базы данных 54
Выводы по главе 55
ГЛАВА 5 Финансовый менеджмент, ресурсоэффективность и ресурсосбережение 56
5.1. Оценка перспективности проведения исследований 56
5.1.1. Анализ конкурентных технических решений 56
5.2. SWOT-анализ 58
5.3. Планирование работ по научно-техническому исследованию 62
5.3.1. Структура работ в рамках научного исследования 62
5.3.2. Определение трудоемкости выполнения работ 63
5.3.3. Разработка графика проведения научного исследования 64
5.4. Бюджет технического проекта 67
5.4.1. Расчет материальных затрат 68
5.4.2. Расчет затрат на оборудование 68
5.4.3. Основная заработная плата исполнителей 69
5.4.4. Расчет дополнительной заработной платы 7 0
5.4.5 Отчисления во внебюджетные фонды 71
5.4.6. Накладные расходы 71
5.4.7. Формирование бюджета затрат научно-исследовательского проекта 72
5.5. Определение ресурсной (ресурсосберегающей), финансовой, бюджетной,
социальной и экономической эффективности исследования 73
Выводы по разделу 74
Глава 6. СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 75
6.1. Правовые и организационные вопросы обеспечения безопасности 76
6.2. Производственная безопасность 77
6.2.1. Анализ опасных и вредных факторов и обоснование мероприятий по
снижению их воздействия 78
6.2.1.1. Отсутствие или недостаток необходимого естественного освещения 78
6.2.1.2. Эмоциональные перегрузки 79
6.2.1.3. Перенапряжение зрительных анализаторов 80
6.2.1.4. Статические физические перегрузки 80
6.2.1.5. Монотонность трудового процесса 80
6.2.1.6. Электриче ский ток 81
6.3. Экологическая безопасность 82
6.4. Безопасность в чрезвычайных ситуациях 83
Выводы по разделу 85
Заключение 86
Список литературы 87
Приложение А 89
Приложение Б 94
Перечень терминов и условных обозначений 14
Введение 15
Глава 1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 16
1.1. Общая информация 16
1.2. Постановка задачи 18
1.3. Общее описание функций системы 21
Выводы по главе 22
Глава 2. ПРОЕКТИРОВАНИЕ ВЕБ-ПРИЛОЖЕНИЯ 23
2.1. Проектирование информационной системы 23
2.1.1. Диаграмма BPMN 23
2.2. Выбор программно-технических средств 25
2.2.1. Выбор языка программирования серверной части 25
2.2.2. Выбор СУБД 26
2.3. Проектирование базы данных 27
2.3.1. Концептуальное проектирование 27
2.3.2. Логическое проектирование 34
2.3.2.1. Логическая схема предметной области 34
Выводы по главе 36
Глава 3. РАЗРАБОТКА СИСТЕМЫ 37
3.1. Архитектура системы 3 7
3.2. Обработка изображений 40
3.3. Авторизация и регистрация 41
3.4. Пользователи 42
3.5. Измерения 43
3.6. Рецепты 43
3.7. Цель 43
3.8. Уровень активности 44
3.9. Продукт 44
3.10. Рацион 45
3.11. Прием пищи 45
3.12. Категория продукта 4 5
3.13. Деплой приложения 4 5
Выводы по главе 47
Глава 4. АНАЛИЗ РЕЗУЛЬТАТОВ РАЗРАБОТКИ И ТЕСТИРОВАНИЕ 48
4.1. Результат создания базы данных 48
4.2. Тестирование API сервера 48
4.2.1. Авторизация и регистрация 48
4.2.2. Получение данных о пользователе 50
4.2.3. Создание приема пищи 51
4.2.4. Создание рациона 52
4.2.5. Создание рецепта 53
4.2.6. Удаление из базы данных 54
Выводы по главе 55
ГЛАВА 5 Финансовый менеджмент, ресурсоэффективность и ресурсосбережение 56
5.1. Оценка перспективности проведения исследований 56
5.1.1. Анализ конкурентных технических решений 56
5.2. SWOT-анализ 58
5.3. Планирование работ по научно-техническому исследованию 62
5.3.1. Структура работ в рамках научного исследования 62
5.3.2. Определение трудоемкости выполнения работ 63
5.3.3. Разработка графика проведения научного исследования 64
5.4. Бюджет технического проекта 67
5.4.1. Расчет материальных затрат 68
5.4.2. Расчет затрат на оборудование 68
5.4.3. Основная заработная плата исполнителей 69
5.4.4. Расчет дополнительной заработной платы 7 0
5.4.5 Отчисления во внебюджетные фонды 71
5.4.6. Накладные расходы 71
5.4.7. Формирование бюджета затрат научно-исследовательского проекта 72
5.5. Определение ресурсной (ресурсосберегающей), финансовой, бюджетной,
социальной и экономической эффективности исследования 73
Выводы по разделу 74
Глава 6. СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 75
6.1. Правовые и организационные вопросы обеспечения безопасности 76
6.2. Производственная безопасность 77
6.2.1. Анализ опасных и вредных факторов и обоснование мероприятий по
снижению их воздействия 78
6.2.1.1. Отсутствие или недостаток необходимого естественного освещения 78
6.2.1.2. Эмоциональные перегрузки 79
6.2.1.3. Перенапряжение зрительных анализаторов 80
6.2.1.4. Статические физические перегрузки 80
6.2.1.5. Монотонность трудового процесса 80
6.2.1.6. Электриче ский ток 81
6.3. Экологическая безопасность 82
6.4. Безопасность в чрезвычайных ситуациях 83
Выводы по разделу 85
Заключение 86
Список литературы 87
Приложение А 89
Приложение Б 94
В настоящее время все больше людей сталкиваются с необходимостью следить за своим питанием. Это обуславливается, во-первых, растущим интересом к спорту на фоне снижения физической активности и перехода к сидячему образу жизни. Для достижения своей цели, например, набора мышечной массы, недостаточно только регулярных занятий спортом, важно также следить за тем, чтобы организм спортсмена получал необходимое количество калорий и макронутриентов [1] и имел ресурсы для наращивания мышечной массы и сжигания жиров.
Во-вторых, существует категория людей, вынужденных следить за питанием по состоянию здоровья, в таком случае необходимо составлять свой рацион в соответствие со списками запрещенных и рекомендованных продуктов.
Помимо двух названных выше категорий людей, любому человеку будет полезно следить за своим питанием для предотвращения различных заболеваний, например, ожирения или гастрита, вызванных несбалансированным питанием [2], недопущения ухудшения физической формы, а также для формирования сознательности в отношении питания.
Все вышеперечисленное требует внушительного количества временного ресурса для самостоятельного поиска информации о необходимом количестве КБЖУ, диетах, количества макронутриентов и калорий в продуктах, а также составления рациона вручную.
На данный момент в мире существует тенденция цифровизации инструментов и методов решения различных проблем, коснувшаяся и составления рациона питания.
Глава 1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1. Общая информация
Поставленная выше проблема имеет высокую актуальность, в связи с чем было принято решение о создании веб-приложения Rationalist для помощи людям в сокращении временных затрат на составление рациона питания. Для первоначального анализа требований к разрабатываемому ПО был проведен обзор конкурентных решений на российском рынке.
Первым конкурентом является «ЗОЖНИК - дневник зожника», являющийся кроссплатформенным приложением для ведения здорового образа жизни, большая часть функционала которого предназначена для спортсменов. Приложение включает в себя такие функции как: подсчет КБЖУ по приемам пищи за день, составление индивидуального дневника питания и тренировок, добавление своих продуктов и рецептов. Данное приложение не лишено недостатков. Опираясь на рейтинг в 4,4 балла, составленный на основе пользовательских оценок в магазине приложений, можно выделить несколько ключевых недостатков [3]:
• Ограниченный бесплатный функционал (доступно создание не более 3-х рационов питания, отсутствие доступа к базе полезных продуктов).
• Нестабильная работа системы у многих пользователей, проблемы при загрузке из магазина приложений.
• Малое количество продуктов, доступных для составления рациона, в связи с чем пользователи вынуждены добавлять их самостоятельно.
• Отсутствие рекомендаций по диетам для пользователей с заболеваниями ЖКТ.
• Закрытый исходный код.
Пример добавления продуктов в рацион представлен на рисунке 1.
Во-вторых, существует категория людей, вынужденных следить за питанием по состоянию здоровья, в таком случае необходимо составлять свой рацион в соответствие со списками запрещенных и рекомендованных продуктов.
Помимо двух названных выше категорий людей, любому человеку будет полезно следить за своим питанием для предотвращения различных заболеваний, например, ожирения или гастрита, вызванных несбалансированным питанием [2], недопущения ухудшения физической формы, а также для формирования сознательности в отношении питания.
Все вышеперечисленное требует внушительного количества временного ресурса для самостоятельного поиска информации о необходимом количестве КБЖУ, диетах, количества макронутриентов и калорий в продуктах, а также составления рациона вручную.
На данный момент в мире существует тенденция цифровизации инструментов и методов решения различных проблем, коснувшаяся и составления рациона питания.
Глава 1. ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1. Общая информация
Поставленная выше проблема имеет высокую актуальность, в связи с чем было принято решение о создании веб-приложения Rationalist для помощи людям в сокращении временных затрат на составление рациона питания. Для первоначального анализа требований к разрабатываемому ПО был проведен обзор конкурентных решений на российском рынке.
Первым конкурентом является «ЗОЖНИК - дневник зожника», являющийся кроссплатформенным приложением для ведения здорового образа жизни, большая часть функционала которого предназначена для спортсменов. Приложение включает в себя такие функции как: подсчет КБЖУ по приемам пищи за день, составление индивидуального дневника питания и тренировок, добавление своих продуктов и рецептов. Данное приложение не лишено недостатков. Опираясь на рейтинг в 4,4 балла, составленный на основе пользовательских оценок в магазине приложений, можно выделить несколько ключевых недостатков [3]:
• Ограниченный бесплатный функционал (доступно создание не более 3-х рационов питания, отсутствие доступа к базе полезных продуктов).
• Нестабильная работа системы у многих пользователей, проблемы при загрузке из магазина приложений.
• Малое количество продуктов, доступных для составления рациона, в связи с чем пользователи вынуждены добавлять их самостоятельно.
• Отсутствие рекомендаций по диетам для пользователей с заболеваниями ЖКТ.
• Закрытый исходный код.
Пример добавления продуктов в рацион представлен на рисунке 1.
Составление рациона питания позволяет человеку поддерживать баланс макронутриентов в организме, достигать поставленных целей в спорте, а также придерживаться определенной диеты без риска навредить здоровью. Перенос этого процесса в цифровое пространство позволит человеку сократить затраты временного ресурса, и, как следствие, еще эффективнее придерживаться здорового образа жизни.
Основные результаты проведенной работы:
• Выполнен анализ доступных на российском рынке аналогов с похожим функционалом.
• Спроектирована архитектура веб-приложения.
• Проведена реализация серверной части веб-приложения.
• Описан функционал реализованного веб-приложения.
Как следствие, было разработано веб-приложение для составления рациона питания. При разработке использовался язык JavaScript и такие технологии как Node.js и Express, в качестве СУБД использовалась PostgreSQL
Основные результаты проведенной работы:
• Выполнен анализ доступных на российском рынке аналогов с похожим функционалом.
• Спроектирована архитектура веб-приложения.
• Проведена реализация серверной части веб-приложения.
• Описан функционал реализованного веб-приложения.
Как следствие, было разработано веб-приложение для составления рациона питания. При разработке использовался язык JavaScript и такие технологии как Node.js и Express, в качестве СУБД использовалась PostgreSQL





