1.8 KiB
1.8 KiB
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
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://<jouw-nextcloud>/remote.php/dav/files/<gebruikersnaam>/ - 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
npm test
Licentie
Public domain (Unlicense)