# Weegschaal App React Native (Expo) app voor het handmatig invoeren van meetgegevens van een slimme weegschaal. Data wordt lokaal opgeslagen in SQLite en gesynchroniseerd met Nextcloud via WebDAV. ## Meetwaarden - Gewicht (kg) - BMI - Vetpercentage (%) - Vetmassa (kg) — automatisch berekend - Spierpercentage (%) - Spiermassa (kg) — automatisch berekend - Buikvet (index) - Stofwisseling in rust (kcal) ## Schermen - **Dashboard** — laatste meting (groene kaart) + drie losse grafieken onder elkaar (gewicht, vetmassa, spiermassa), elk met eigen y-as-schaal en 30-dagen filter gerekend vanaf de nieuwste meting - **Nieuwe meting** — datumkiezer bovenaan (standaard vandaag), formulier vooraf ingevuld met waarden van de laatste meting. Opslaan-knop altijd in beeld (buiten ScrollView). Bij opslaan wordt automatisch gesynchroniseerd met Nextcloud - **Historie** — FlatList gesorteerd op ingevoerde datum (nieuwste bovenaan), pull-to-refresh - **Instellingen** — WebDAV configuratie (URL, gebruikersnaam, wachtwoord met oogje voor tonen/verbergen), handmatige sync, wissen met bevestigingsdialoog ## Ontwikkeling ```bash npm install npx expo start ``` Scannen met Expo Go op Android of iOS. ## Synchronisatie Data wordt opgeslagen als `weegschaal/measurements.json` in je Nextcloud WebDAV. Vul in het Instellingen scherm het volgende in: - **URL**: `https:///remote.php/dav/files//` - **Gebruikersnaam**: je Nextcloud gebruikersnaam - **Wachtwoord**: je Nextcloud app-wachtwoord Bij sync worden lokale en externe metingen samengevoegd (last-write-wins op basis van `updatedAt`). De map `weegschaal/` wordt automatisch aangemaakt via MKCOL indien deze nog niet bestaat. ## Testen ```bash npm test ``` ## Licentie Public domain (Unlicense)