Pokračováním souhlasíte s naším používáním cookies. Pro více informací si přečtěte naše zásady ochrany osobních údajů.

Plan My Meals

Jakub Pojsl - jakub@devehope.com

Main Mealplanner Dashboard

Obrázek 1: Hlavní panel s týdenním přehledem

Abstract

V rámci tohoto projektu jsem si stanovil cíl navrhnout a implementovat webovou aplikaci, která pomůže uživatelům zlepšit jejich stravovací návyky a snížit plýtvání potravinami. Aplikace uživatelům nabízí možnost sledování příjmu živin a automatické generování jídelních plánů na základě jejich preferencí a životního stylu. Důraz byl kladen především na návrh a testování uživatelsky přívětivého rozhraní pro efektivní správu těchto jídelníčků.

Úvod

Význam vyvážené stravy je stále více uznáván širokou veřejností a na internetu je k dispozici množství informací týkající se této problematiky. Existuje řada dietních plánů a doporučení pro optimální stravování. Změnit své stravovací návyky však není snadné, jelikož to vyžaduje pečlivé plánování jídel, vaření a nákup surovin. Nedostatek tohoto plánování může navíc vést k plýtvání jídlem. Věříme, že efektivní plánování jídel může tento problém zmírnit, a právě to si aplikace planMyMeals klade za cíl.

[1] https://www.similarweb.com/top-websites/category/health/nutrition-diets-and-fitness/

Hlavním cílem našeho projektu bylo vytvořit webovou aplikaci, která by uživatelům pomohla zlepšit jejich stravovací návyky. Aplikace klade důraz na přehledné a uživatelsky přívětivé rozhraní pro snadné plánování jídel a sledování výživy. Mezi hlavní funkce patří návrhy receptů, export nákupních seznamů a možnost automaticky vytvářet objednávky potravin. Díky budování pozitivního vztahu s uživateli jsme shromažďovali informace o jejich stravování, abychom mohli nabídnout personalizovaná doporučení. Naším největším cílem je pomoci uživatelům jíst zdravěji a snižovat plýtvání potravinami.

[2] https://www.rohlik.cz/

Existující řešení

Četná řešení se zaměřují na plánování jídel, sledování výživy nebo doporučení jídel, ale jen málo z nich kombinuje tyto funkce efektivně dohromady.

Aplikace EatThisMuch zaujme širokou škálou funkcí, mezi které patří plánování jídel, sledování výživy a ingrediencí, či poskytování doporučení jídel. Mezi její nevýhody patří omezený přístup k pokročilým funkcím, zaměření pouze na denní plánování a absence tradičních českých jídel. Přesto se jedná o zajímavý nástroj, který stojí za zvážení.

[3] https://www.eatthismuch.com/

V České republice momentálně neexistuje žádná aplikace, která by nabízela tak komplexní funkce. Jednou z oblíbených místních aplikací je 'kaloricketabulky.cz', která se soustředí hlavně na sledování výživy a obsahuje rozsáhlou databázi českých potravin. Nicméně postrádá funkce, jako je automatické vytváření jídelníčků nebo personalizovaná doporučení.

[4] https://www.kaloricketabulky.cz/

V rámci aplikace planMyMeals jsme si dali za cíl vyřešit tento problém tak tak, že jsme zkombinovali všechny požadované funkce do jednoho uceleného nástroje

Návrh uživatelského rozhraní

Aplikace vyžadovala nástroj pro snadné plánování jídelníčků na týden s jasným přehledem. Proces musel být jednoduchý, efektivní a schopný automatizace s personalizovanými doporučeními jídel a potravin.

Přehled jídelníčků na týden

Klíčovým prvkem byl vizuální přehled jídelníčků na týden. Rozhraní obsahovalo sedm sloupců pro každý den, což uživatelům umožňovalo spravovat jídla, přesouvat potraviny a pohodlně zobrazovat výživové informace.

Weekly meal plan overview

Obrázek 2: Přehled týdenního plánu jídel s generovanými jídly

Sledování výživy

Sledování příjmu výživy bylo klíčové pro porozumění stravovacím návykům uživatelů a poskytování lepší zpětné vazby. Aplikace zobrazuje denní a specifické výživové statistiky, které uživatelům pomáhají vytvářet vyvážené plány jídel podle jejich potřeb.

Vyhledávání jídel a přidání do jídelníčků

Uživatelé mohou snadno přidávat potraviny a jídla do svého jídelníčku, buď ručně, nebo ze seznamu doporučených a oblíbených položek. Systém usnadnil rychlé přidávání, úpravy a odstraňování s funkcemi pro hromadné akce a vytváření nových potravin.

Modal window for food search with recommended and favourite foods

Obrázek 3: Modální okno pro vyhledávání potravin s doporučenými a oblíbenými jídly

Oblíbené potraviny a jídla

Aplikace umožňuje uživatelům označovat konkrétní potraviny a jídla jako jejich oblíbené, což zjednodušuje budoucí plánování a zlepšuje personalizovaná doporučení.

Nástroje automatizace

Funkce automatizace umožňuje uživatelům automaticky generovat personalizované plány jídel a jednotlivá jídla. Uživatelé mohou nastavit parametry, jako jsou výška, váha, věk, pohlaví, fyzická aktivita a dietní cíle, a tím přizpůsobit doporučení svým potřebám.

Simplified meal plan generator algorithm

Obrázek 4: Zjednodušený algoritmus pro generátor jídelníčků

Automatické generování plánů jídel

Ideálním výsledkem je vyvážený týdenní jídelníček přizpůsobený každému uživateli. Vyvinuli jsme algoritmus, který na základě údajů o uživateli generuje vyvážené jídelníčky, přičemž zohledňuje faktory jako denní potřebu živin a rozmanitost jídel.

Jídelníčkyl zahrnují různá jídla, jako jsou snídaně, svačiny, obědy a večeře, přičemž využívají různorodou databázi potravin rozdělenou do kategorií pro snadný přístup. Aplikace vypočítá doporučený denní příjem živin na základě údajů o uživateli a cílů s využitím zavedených vzorců.

Výpočet RMR

  • Muži: kalorie/den = 10 x váha (kg) + 6.25 x výška (cm) – 5 x věk (let) + 5
  • Ženy: kalorie/den = 10 x váha (kg) + 6.25 x výška (cm) – 5 x věk (let) – 161

RMR se upravuje pro trávení (10% zvýšení) a násobí se faktorem aktivity pro odhad celkové denní spotřeby energie (TDEE). V závislosti na cíli uživatele (hubnutí, údržba nebo nárůst hmotnosti) se TDEE odpovídajícím způsobem upraví.

Úprava podle úrovně aktivity

  • Sedavý = RMR x 1.2
  • Lehce aktivní = RMR x 1.375
  • Středně aktivní = RMR x 1.55
  • Velmi aktivní = RMR x 1.725
  • Mimořádně aktivní = RMR x 1.9

Sacharidy, bílkoviny a tuky jsou rozděleny v doporučených poměrech. Úroveň personalizace závisí na dostupných údajích o uživateli.

[Mifflin-St. Jeor rovnice]

[Výpočet TEF]

[Výpočet TDEE]

[Pokyny pro výpočet živin]

Architektura a implementace

Řešení je webová aplikace využívající architekturu klient-server. Vybrali jsme framework Django pro jeho robustní funkce v Pythonovém webovém vývoji, včetně bezpečnosti a škálovatelnosti.

Architektura následuje vzor Model-View-Template (MVT). Modely představují datovou strukturu, pohledy zpracovávají obchodní logiku a šablony spravují uživatelské rozhraní.

Pro zpracování uživatelských interakcí a asynchronní komunikaci je použit JavaScript, což zajišťuje responzivní a dynamický uživatelský zážitek.

Model-View-Template design pattern

Obrázek 5: Návrhový vzor Model-View-Template

Hodnocení generovaných plánů jídel

Generování plánů jídel jsme hodnotili pomocí modelového profilu uživatele: výška 178 cm, váha 84 kg, věk 42 let, střední fyzická aktivita a cíl udržení hmotnosti. Generované plány jídel byly analyzovány z hlediska jejich nutriční rovnováhy a rozmanitosti.

  • Kalorie: 2971 kcal
  • Sacharidy: 260 - 409 gramů
  • Bílkoviny: 83 - 126 gramů
  • Tuky: 111 - 260 gramů

Generované plány obecně splňovaly nutriční pokyny, s určitou variabilitou mezi dny. Uživatelé mohli regenerovat konkrétní jídla nebo dny, aby dosáhli lepší rovnováhy.

Generované dny730100
Průměrné kalorie252626742895
Průměrné sacharidy285305328
Průměrné bílkoviny101102109
Průměrné tuky98107126

Plány ukázaly sbližování směrem k optimálnímu příjmu živin s více generovanými vzorky. Nicméně došlo k odchylkám, které vyžadovaly uživatelské úpravy.

MinMax
Kalorie18263574
Sacharidy135540
Bílkoviny72165
Tuky56167

Zatímco plány jídel byly obecně dobře vyvážené, uživatelé mohli regenerovat jídla, aby optimalizovali svou stravu. Rozmanitost potravin zajišťovala minimální opakování, což zlepšilo uživatelský zážitek.

Generated meals example

Obrázek 6: Příklad generovaných jídel za dva dny s uvedenými nutričními informacemi (nezobrazené svačiny)

Testování uživatelů

Testování uživatelů se zaměřilo na rozhraní a celkový zážitek, hodnotilo jasnost, použitelnost a užitečnost. Klíčové otázky se zaměřily na snadnost použití aplikace, užitečnost při plánování jídel a schopnost sledovat výživu.

  • Byla aplikace snadno použitelná?
  • Byla nápomocná při plánování jídel?
  • Byl proces jednoduchý a efektivní?
  • Mohli uživatelé snadno sledovat svůj příjem živin?
  • Jak uživatelé vhodnost vygenerovaných jídel?

Testování se zúčastnilo pět uživatelů, kteří poskytli zpětnou vazbu prostřednictvím dotazníku. Byli požádáni, aby vyzkoušeli funkce, jako je plánování jídelníčku manuálně, zaznamenávání příjmu potravin a používání automatického generátoru jídelníčku.

Testování uživatelského rozhraní

Počáteční testování se zaměřilo na rozvržení a designové prvky. Uživatelé poskytli zpětnou vazbu k jasnosti a předvídatelnosti rozhraní, což vedlo k několika vylepšením designu.

Testování použitelnosti

Testování použitelnosti hodnotilo efektivitu uživatelských procesů. Uživatelé hodnotili své zkušenosti a na základě jejich zpětné vazby byla provedena vylepšení, zejména při vyhledávání a výběru potravin.

Výsledky testování

TvrzeníSkóre
Snadnost použití8.5
Efektivita při plánování jídel7.9
Snadnost nalezení potravin8.2
Vhodnost doporučených potravin7.1
Jasnost sledování výživy9.3
Vhodnost kombinací generovaných jídel7.2
Začlenění generovaných jídel8.6
Celková kvalita generovaných plánů jídel6.2

Zhodnocení

V tomto projektu jsme úspěšně vyvinuli aplikaci, která poskytuje uživatelům nástroje ke zlepšení jejich stravy a snížení plýtvání potravinami. Klíčové funkce zahrnují snadné plánování jednotlivých chodů, sledování výživy a nástroje pro automatizaci personalizovaných jídelníčků.

Uživatelské rozhraní bylo navrženo tak, aby bylo uživatelsky přívětivé a efektivní, což uživatelům umožňuje efektivně spravovat své týdenní jídelníčky. Budoucí vylepšení by mohla zahrnovat automatizované objednávky potravin a integraci s databázemi receptů.

Samotná aplikace sice splnila své počáteční cíle, ale další vylepšení by mohla výrazně zlepšit kvalitu i míru personalizace jídelních plánů. Implementace AI by mohla zpřesnit doporučení, zatímco gamifikace by přispěla k větší motivaci uživatelů jídelníčky sestavovat a dodržovat.

Aplikace se celkově osvědčila ve svém zamýšleném účelu. Pro úplné zhodnocení jejího vlivu na dlouhodobé stravovací návyky uživatelů a snížení plýtvání potravinami však bude nutné provést další testování a vývoj.

© All rights reserved 2024. Devehope Technologies s.r.o.
Devehope Technologies s.r.o. Nové sady 988/2 602 00 Brno, Czech Republic