Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added snippets/1022_Figma2AndroidUI/addFood.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added snippets/1022_Figma2AndroidUI/combine.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions snippets/1022_Figma2AndroidUI/db_schema.dbml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Table Food{
id long [pk]
name varchar
isAvailable bit
isComplex bit
}

Table Ingridients{
parentId long [ref: > Food.id, not null]
childId long [ref: > Food.id, not null]
}

Table ComplexFood{
parentId long [ref: > Food.id, not null]
childId long [ref: > Food.id, not null]
size double

indexes{
(parentId, childId) [pk]
}
}

Table Consumption{
foodId long [ref: > Food.id, not null]
dateTime dateTime [pk]
size double
}

Table Nutirtion{
id long [pk]
name varchar
measurement varchar
}

Table NutritionData{
id long [pk]
nutritionId long [ref: > Nutirtion.id, not null]
foodId long [ref: > Food.id, not null]
}

Table NutritionGoal{
id long [pk]
nutritionId long [ref: > Nutirtion.id, not null]
goalValue double
}
Binary file added snippets/1022_Figma2AndroidUI/dbschema.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions snippets/1022_Figma2AndroidUI/folder_structure.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
$base = "app"

$dirs = @(
"$base/presentation/screens",
"$base/presentation/viewmodel",
"$base/presentation/state",
"$base/presentation/navigation",

"$base/domain/model",
"$base/domain/usecase",
"$base/domain/repository",
"$base/domain/logic",

"$base/data/local/room/dao",
"$base/data/local/room/database",
"$base/data/local/room/entity",

"$base/data/remote/api",

"$base/data/repository",
"$base/data/mapper",

"$base/di",

"$base/core/util",
"$base/core/constants",
"$base/core/extensions"
)

$files = @(
"$base/presentation/screens/HomeScreen.kt",
"$base/presentation/viewmodel/HomeViewModel.kt",
"$base/presentation/state/HomeUiState.kt",
"$base/presentation/navigation/NavGraph.kt",

"$base/domain/model/Food.kt",
"$base/domain/usecase/GetFoodsUseCase.kt",
"$base/domain/repository/FoodRepository.kt",

"$base/data/local/room/dao/FoodDao.kt",
"$base/data/local/room/database/KcalDatabase.kt",
"$base/data/local/room/entity/FoodEntity.kt",

"$base/data/remote/api/FoodApi.kt",

"$base/data/repository/FoodRepositoryImpl.kt",

"$base/data/mapper/FoodMapper.kt",

"$base/di/AppModule.kt",

"$base/core/util/Result.kt"
)

Write-Host "Creating folders..."
foreach ($dir in $dirs) {
New-Item -ItemType Directory -Force -Path $dir | Out-Null
}

Write-Host "Creating files..."
foreach ($file in $files) {
New-Item -ItemType File -Force -Path $file | Out-Null
}

Write-Host "Skeleton created successfully!"
Binary file added snippets/1022_Figma2AndroidUI/foodlist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions snippets/1022_Figma2AndroidUI/high_level_spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# kcalc alkalmazás magasszintű specifikáció

## Főbb funkciók

Az alkalmazás az egyéni étrend és az azáltal bevitt tápanyagok követésére hivatott nyújtani egyszerű és megbízható megoldást.

**Ételek kezelése**

A felhasználónak egy külön felületen lehetősége van ételek felvételére. Az ételek felvételekor, annak tápértékeinek (fehérje, rostok, zsír, szénhidrát, kalória) meghatározására van szükség 100g-ra visszafejtve. A felvett ételek egy listában érhetőek el egy külön felületen, és ezek szerkeszthetőek és törölhetőek.

A tápértékek felvétele során lehetőség van az értékek becslésére, amelyhez internet használat szükséges. A felhasználónak ehhez csupán az étel nevét kell kitöltenie és az alkalmazás egy külső szerver segítségével becsli meg az értékeket csupán az étel nevéből kiindulva.

A felhasználónak lehetősége van a felvitt ételek kombinációjára is. Ebben az esetben egy új étel keletkezik, amely az ahhoz felvettek tápértékeinek összegéből tevődik össze skálázva azok tömegeivel. Ilyenkor az egyes összetevőkhöz szükséges azok tömegeiknek definiálása is. Az alkalmazás ezt általános ételkhez hasonló megjelenítés mellett mutatja, hogy milyen továbbiakból tevődik össze. Egy példa a kombinációra: `Vajaskenyér` esetén `vaj`* 2g + `kenyér`* 50g.

**Napi bevitelek kezelése**

Az adott napra a felhasználó tudja követni a főmenüből, hogy milyen ételeket vitt be. Itt tud további táplálék bevitelt felvenni vagy aznapi korábbit törölni az étel kiválasztásával (amelyeket a korábban már felvett), illetve annak tömegének kiválasztásával.
A főmenüben továbbá az aznap elfogyasztott fő tápérték célokat is megfigyelheti mutatók formájában.

**Napi bevitelek nyomonkövetése**

Egy külön panel-en a felhasználó vissza tudja nézni, hogy adott múltbéli napon milyen ételeket vitt be és milyen tápérték értékeket ért el. A múltbéli adatok módosítására nincs lehetőség, mindig csak az aznapi adatokra.

**Mérleg hibák kezelése**

Az alkalmazás lehetőséget bizotsít a mérleg hibáinak korrigálására is, annak mért értékekhez tartozó hibáinak megadásával. Ezt tömegek megadásakor, teheti meg a felhasználó egy checkbox formájában. Ilyenkor a fix pontok közötti interpolációval korrigálja az alkalmazás a bevitt tömeget. Pl.: 100g -> 102g, 500g -> 504g értékek esetén 300g esetén 3g lesz a hiba. Az alkalmazás egy időben egy mérleg korrigációjával képes dolgozni. A mérleghibák felvételére egy külön képernyő szolgál

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Az alkalmazás lehetőséget bizotsít a mérleg hibáinak korrigálására is, annak mért értékekhez tartozó hibáinak megadásával. Ezt tömegek megadásakor, teheti meg a felhasználó egy checkbox formájában. Ilyenkor a fix pontok közötti interpolációval korrigálja az alkalmazás a bevitt tömeget. Pl.: 100g -> 102g, 500g -> 504g értékek esetén 300g esetén 3g lesz a hiba. Az alkalmazás egy időben egy mérleg korrigációjával képes dolgozni. A mérleghibák felvételére egy külön képernyő szolgál
Az alkalmazás lehetőséget biztosít a mérleg hibáinak korrigálására is, annak mért értékekhez tartozó hibáinak megadásával. Ezt tömegek megadásakor teheti meg a felhasználó egy checkbox formájában. Ilyenkor a fix pontok közötti interpolációval korrigálja az alkalmazás a bevitt tömeget. Pl.: 100g -> 102g, 500g -> 504g értékek esetén 300g esetén 3g lesz a hiba. Az alkalmazás egy időben egy mérleg korrigációjával képes dolgozni. A mérleghibák felvételére egy külön képernyő szolgál.


Az alkalmazás az adatokat csupán lokálisan tárolja és alapvető működése nem igényel internethez való kapcsolódást, leszámítva a tápértékek becslését.

**Tápérték cél meghatározása**

A felhasználó meg tud határozni egy tápérték célt, amely esetén az alkalmazás, ahhoz viszonyítva mutatja a bevitt értékeket. Ezt a célt később a felhasználónak lehetősége nyílik módosítani.
Binary file added snippets/1022_Figma2AndroidUI/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading