No description
- TypeScript 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .claude | ||
| assets | ||
| docs | ||
| src | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| app.json | ||
| App.tsx | ||
| CLAUDE.md | ||
| eas.json | ||
| index.ts | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| UNLICENSE | ||
| upgrade.md | ||
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
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)