- New MeasurementDetailScreen with wijzigen/verwijderen - WeightChart now supports 30 and 365 days - NewMeasurementScreen now handles both create and edit - Updated README to match current code - Add build-toolchain documentation - Ignore *.apk build artifacts
51 lines
2 KiB
Markdown
51 lines
2 KiB
Markdown
# 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 in een kaart + drie grafieken (gewicht, vetmassa, spiermassa) met eigen y-as-schaal, te schakelen tussen 30 en 365 dagen
|
|
- **Nieuwe meting / Meting wijzigen** — datumkiezer bovenaan (standaard vandaag), formulier vooraf ingevuld met waarden van de laatste meting. Ook te gebruiken om een bestaande meting te bewerken. Opslaan-knop altijd in beeld (buiten ScrollView). Bij opslaan wordt automatisch gesynchroniseerd met Nextcloud
|
|
- **Meting detail** — alle meetwaarden in een kaartweergave, met knoppen om de meting te wijzigen of te verwijderen (verwijderen roept ook sync aan)
|
|
- **Historie** — FlatList gesorteerd op ingevoerde datum (nieuwste bovenaan), pull-to-refresh
|
|
- **Instellingen** — WebDAV configuratie (URL, gebruikersnaam, wachtwoord met oogje voor tonen/verbergen), handmatige sync, WebDAV-credentials 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://<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
|
|
|
|
```bash
|
|
npm test
|
|
```
|
|
|
|
## Licentie
|
|
|
|
Public domain (Unlicense)
|