Как стать автором
Обновить

Справочник здорового питания из Вкусвилл

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров7K
Когда уже 10 минут пытаешься выбрать самое полезное печенье
Когда уже 10 минут пытаешься выбрать самое полезное печенье

Привет, Хабр!

На новогодних праздниках у меня возникло желание сделать что-то полезное. Как человек, недавно начавший увлекаться здоровым питанием и ходить в тренажерный зал, я столкнулся с проблемой исправления своих неправильных пищевых привычек. Булочка на завтрак, сладкий десерт в качестве снэка, готовая еда сомнительного качества - тело не могло не отреагировать на такие издевательства, и в течение последних лет медленно, но верно набирало вес.

Оказалось, найти в сетевых магазинах подходящие продукты не так уж и просто. Замучавшись выискивать на полке с готовой едой самое высокобелковое блюдо, я задался вопросом - а можно ли упростить этот процесс? В процессе размышления я пришел к идее сделать справочник продуктов из сетевых магазинов с продвинутыми сортировками и фильтрацией.

Для MVP был выбран каталог сети Вкусвилл, как позиционирующей себя для здорового питания. Я написал простой скрипт на Python с использованием Selenium, который ходил по онлайн-каталогу этой сети и парсил в JSON данные о БЖУ, калориях и цене продуктов. Каталог никак не препятствовал автоматическому обходу, и уже через пару часов у меня были готовы JSON-чики для нескольких категорий товаров.

Далее я вооружился Vue и Nuxt.JS с UI-библиотекой PrimeVue, и создал веб-интерфейс для просмотра данных. Из PrimeVue я использовал компонент таблицы с уже реализованными сортировками - удобно! Благодаря Nuxt.JS, сайт получился статическим, и я захостил его на Guthub Pages. Благодаря вёрстве на флексбоксах, сайт адаптивен и удобен даже с телефона.

Текущий UI
Текущий UI

В первой версии можно сортировать таблицу, выбирая низкоуглеводные, высокобелковые, низкокалорийные продукты - что больше подходит под ваш стиль питания. Например, вы любите сладости, но хотите придерживаться низкоуглеводной диеты. Отсортируйте таблицу "Сладости" по возрастанию столбца "Углеводы", и увидите, что в протеиновом брауни всего лишь 7г. углеводов,. А самой низкокалорийной сладостью будет веганский десерт "Ананасовый" - всего 165 ккал! Также есть раздел с вегетарианским питанием.

В планах добавить более сложные фильтры (например, ограничение по цене). Сейчас база данных составлена из каталога Вкусвилл для Петербурга. В будущем возможно выкачаю всероссийский каталог. На более позднем этапе развития возможно добавление каталогов других сетей.

Исходный код проекта на GitHub

С Новым Годом!

Теги:
Хабы:
Всего голосов 6: ↑4 и ↓2+2
Комментарии10

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн