ID.nl logo
Decentrale website maken voor web 3.0
© PXimport
Huis

Decentrale website maken voor web 3.0

De huidige versie van internet wordt gedomineerd door dataverkopers en het alziend oog van de overheid. De volgende versie van internet moet daar verandering in gaan brengen. Op het web 3.0 krijgen we meer controle over onze eigen data. In deze workshop beginnen we met onze eigen decentrale website.

Op het huidige internet worden websites en andere content opgeslagen op centrale servers. Wellicht heeft een organisatie één of twee back-ups op een andere locatie, maar uiteindelijk wordt alle content centraal opgeslagen. Wanneer er een datalek is bij een centrale instantie, liggen in één keer allerlei gegevens op straat. Bovendien kan een centrale server door een ddos-aanval tijdelijk overbelast worden, waardoor diensten niet langer toegankelijk zijn.

Dit zijn twee problemen die web 3.0 moet oplossen. Het belangrijkste aspect van het decentrale web is niet zo zeer het hosten van een website, maar de wijze waarop met data van gebruikers worden omgegaan.

Hoe werkt web 3.0?

Het decentrale web gebruikt een systeem waarbij data peer-to-peer worden opgeslagen en uitgewisseld, vergelijkbaar met de wijze waarop BitTorrent werkt. Content wordt gedeeld door nodes die verspreid zijn over de gehele wereld. Bovendien kan iedereen een node opzetten. Dit maakt deze versie van het web ietwat langzamer dan dat de meeste internetgebruikers gewend zijn, maar vaak is het verschil amper merkbaar.

Op het huidige internet wordt het Domain Name System (dns) gebruikt om de locatie van content op een server vindbaar te maken via een leesbare tekst. Zodoende kan iedereen de website van PCM vinden via www.pcmweb.nl in plaats van een numeriek ip-adres.

Op het huidige internet staat een bestand op één bepaalde locatie. Deze manier van content opslaan wordt ook wel ‘location addressing’ genoemd. Bij het decentrale web wordt gebruikgemaakt van ‘content addressing’. Elk bestand krijgt een unieke verwijzing dat na het uploaden toegewezen wordt als een cryptografische hash. Hierbij maakt het niet uit op welke server of op hoeveel servers de content staat, want de content wordt immers op basis van de hash aangehaald en niet op basis van de locatie.

Website maken voor web 3.0

Het maken van een website voor het decentrale web doet op dit moment een beetje denken aan de jaren negentig. WordPress werkt niet. MySQL-databases kunnen ook niet gekoppeld worden. Websites voor het decentrale web zijn statisch en je verwijst dus altijd naar lokale content. Zo’n website kun je gewoon maken in Kladblok, maar er zijn ook tools die je daarbij kunnen helpen. Hugo is een opensource-tool om statische websites te maken, terwijl Atom een zeer fijne editor is om overzicht over je code te bewaren.

Gelukkig gaat de ontwikkeling van het decentrale web snel. Zo heeft Unstoppable Domains in samenwerking met 3Box een tool gelanceerd om een weblog te hosten. Deze is echter zeer beperkt in gebruik en zit bovendien nog vol met kinderziektes. Daarom gaan we nu even uit van een volledig zelfgemaakte website. Hierbij kun je gebruikmaken van bijvoorbeeld css en javascript. Ook is het mogelijk om React te gebruiken, waardoor niet alleen een website, maar ook apps op het decentrale web gehost kunnen worden.

Het is belangrijk om op te merken dat alle verwijzingen naar content lokaal moeten zijn. Voor dit artikel gaan wij even uit van een simpele website. Deze website heeft een index.html en één afbeelding in een map. Alle content voor de website sla je op in een map op je eigen computer.

<html> <body> <h1>Welkom PCM lezer</h1> <img src="images/afbeelding.png" width="300px"/> <p>Deze website kan niemand offline halen!</p> </body> </html>

Uploaden naar IPFS

Wij gebruiken het InterPlanetary File System, beter bekend als IPFS, om de content online te krijgen. Content uploaden naar het decentrale web kan op twee manieren. Gebruikers kunnen zelf een IPFS-node opzetten of een IPFS-gateway gebruiken. De software IPFS Desktop is via Github beschikbaar voor Windows, Linux en Mac. IPFS Desktop is een gebruikersvriendelijke manier om zelf een IPFS-node op te zetten of om content op het decentrale web te bekijken. Download IPFS Desktop hier.

De meeste mensen bekijken websites echter via browsers als Chrome, Safari en Firefox. Daarom maken wij voor het gemak gebruik van een IPFS-gateway, een gebruikersvriendelijke webinterface voor het hosten van content via IPFS. Content die geüpload is via een IPFS-gateway belandt ook op het decentrale web. Het enige euvel dat een gateway heeft, is dat het een vorm van centralisatie is, maar dat nemen we nu even voor lief.

Via https://pinata.cloud krijgt iedere gebruiker standaard 1 GB gratis opslagruimte. Heb je meer ruimte nodig, daar moet maandelijks voor betaald worden.

©PXimport

Na het aanmaken van een account, klik je rechtsboven in het scherm op Pinata Upload. In het nieuwe scherm selecteer je Upload Directory. Bij het uploaden moeten we namelijk zorgen dat de gehele website met alle inhoud en in zijn originele structuur in één keer wordt geüpload.

Worden de bestanden één voor één geüpload, dan krijgt elk bestand een eigen hash. In dat geval werken onderlinge verwijzingen niet meer, zoals de verwijzing naar de afbeelding in index.html.

Gateways

Zodra de upload compleet is, heeft de content – in dit geval de hele map – een unieke hash-code gekregen. Je kunt dit zien door rechtsboven in het scherm te klikken op Pin Explorer. Een hash is in dit geval een verwijzing naar specifieke content, ook wel content addressing genoemd. In dit geval verwijst de aanduiding QmTjS4zkKYeCN9U6fhd95XtiiQymPfMQqRojWD8aoyfU9Z naar de hele map waarin de website is geplaatst.

Het probleem is dat deze reeks cijfers en letters niets doet in een normale browser. Daarom bestaan er gateways. Een gateway, zoals https://pinata.cloud of https://cloudflare-ipfs.com, maakt content op het decentrale web toegankelijk voor browsers die iedereen op zijn computer of telefoon heeft. Ongeacht via welke gateway een bepaalde hash wordt aangehaald, de bijbehorende content wordt getoond. De onderstaande drie url’s tonen exact dezelfde content.

https://cloudflare-ipfs.com/ipfs/QmTjS4zkKYeCN9U6fhd95XtiiQymPfMQqRojWD8aoyfU9Z

https://gateway.pinata.cloud/ipfs/QmTjS4zkKYeCN9U6fhd95XtiiQymPfMQqRojWD8aoyfU9Z

https://ipfs.io/ipfs/QmTjS4zkKYeCN9U6fhd95XtiiQymPfMQqRojWD8aoyfU9Z

Content-ID

Deze hash, de lange reeks van cijfers en letters, wordt ook wel de content-ID of CID genoemd. Elke CID kan via een willekeurige gateway worden benaderd. Ontwikkelaars willen de overgang van het huidige web 2.0 naar web 3.0 zo soepel mogelijk maken. Via deze gateways is content op het decentrale web via elke browser te benaderen.

Dit is een tussenstap, want uiteindelijk kan een dergelijke gateway ook voor problemen zorgen. Het is immers een soort tussenpersoon tussen de content en de gebruiker, en dus zijn gateways potentiële doelwitten voor een ddos-aanval. Wanneer je content uploadt via IPFS wordt het in eerste instantie op slechts één node opgeslagen. Pas wanneer die betreffende CID in populariteit groeit, zal de content verspreid worden over meerdere nodes.

Om te zorgen dat de geüploade content niet plots verdwijnt van het decentrale web, is het verstandig om die content te ‘pinnen’. Hiermee geef je als uploader aan dat de content niet verwijderd mag worden. Verwijder je de pin, dan verdwijnt elke vorm van controle over de online geplaatste bestanden.

©PXimport

Zo’n gateway maakt de url al iets logischer, maar het is niet mooi en bovendien lastig te onthouden. Een andere manier om een CID te bekijken, is door gebruik te maken van een eigen domeinnaam. DNSLink maakt het mogelijk om een reguliere website te koppelen aan een CID. Dit doe je middels een dns-txt-record.

In de dns-records van je eigen domeinnaam moet een verwijzing gemaakt worden naar de CID en eentje naar de IPFS-gateway (zie onderstaande tabel). Hierbij moet {CID} vervangen worden door de hash van je eigen content.

©PXimport

Persoonsgebonden domeinen

Nadat de records bijgewerkt zijn, is de content op het IPFS-netwerk via je eigen domeinnaam te bekijken. Reguliere .nl- of .com-websites worden echter gereguleerd door centrale organisaties. Jaarlijks brengen die kosten in rekening, maar in sommige gevallen passen ze vormen van censuur toe. Als tegenbeweging zijn er bedrijven die werken aan het leesbaar maken van links voor het decentrale web via persoonsgebonden domeinen.

ENS Domains en Unstoppable Domains hebben respectievelijk .eth- en .crypto-domeinen op de markt gebracht. De gebruiker huurt of koopt deze blockchain-domeinen, en slaat deze vervolgens op in zijn eigen Ethereum-cryptovaluta-wallet. Deze domeinnamen zijn persoonsgebonden en de eigenaar kan aangeven waar de domeinnaam naar moet verwijzen.

Vanwege de achterliggende technologie is het ook mogelijk om één of meerdere cryptovaluta-portemonnees te koppelen. Zodoende is roberthoogendoorn.crypto niet alleen een portfolio-website, maar ook een gemakkelijk te onthouden crypto-portemonnee. Als het gaat om toegankelijkheid, is hier nog wel wat werk aan de winkel. De .eth- en .crypto-domeinen zijn momenteel alleen te bereiken via de Opera browser voor Android of na het installeren van de Chrome-extensie van Unstoppable Domains.

Echt wijdverspreid is de technologie dus nog niet. Ondertussen worden de domeinnamen wel door veel verschillende crypto-portemonnees ondersteund, waaronder Coinbase, Trust, Coinomi en MyEtherWallet.

Ethereum-wallet

Voordat we een eigen blockchain-domeinnaam kunnen kopen, is het verstandig eerst de Metamask-app voor Chrome te downloaden. In Metamask kan een bestaande Ethereum-wallet geïmporteerd of een nieuwe wallet aangemaakt worden. Zo’n portemonnee ziet er als volgt uit: 0x123456abcdef12345abcdef12345abcdef12345a. Dit is een publiek adres. De bijbehorende privésleutel moet je goed bewaren.

Vervolgens moet er op unstoppabledomains.com een account aangemaakt worden, waarna je een domeinnaam kunt uitkiezen. Klik Add to cart als de keuze is gemaakt en op Checkout om te betalen met PayPal, creditcard of cryptomunten.

©PXimport

De verkregen .crypto-domeinnaam wordt als token opgeslagen in de crypto-portemonnee van de eigenaar. Vervolgens kan de eigenaar via Unstoppable Domains de domeinnaam doorverwijzen naar de eerder geüploade CID.

Kies My Domains en klik op Manage naast de domeinnaam. Ga vervolgens naar Website en zet de CID in het veld IPFS Hash. Druk daarna op Save Changes om alles op te slaan. Zodra de blockchain de wijzigingen heeft verwerkt, is de website te bekijken via de nieuwe .crypto-domeinnaam.

Download de Chrome-extensie van Unstoppable Domains en surf naar nederob.crypto. Je zult wederom dezelfde website te zien krijgen.

Haken en ogen

Het hosten van een website via IPFS heeft wat meer voeten in de aarde, maar het werkt wel. Toch zitten er wat haken en ogen aan. Wanneer je bijvoorbeeld ziet dat je een typefout hebt gemaakt, is het niet mogelijk om de site even snel aan te passen. Als websitebeheerder moet je dan eerst de content op je eigen pc aanpassen en daarna alles opnieuw uploaden. Vervolgens krijgt de nieuwe versie van de website ook weer een nieuwe CID. Dit betekent dus ook dat de verwijzing vanuit de domeinnaam moet worden aangepast. Kortom, het aanpassen van content is een flinke klus.

Bovendien is het lastig om je website te promoten. Content op het decentrale web wordt niet geïndexeerd door Google. Op dit moment is er met Blockscan één heel simpele zoekmachine voor het decentrale web, maar het mag geen naam hebben. Vooralsnog is het opzetten van een dergelijke website iets voor hobbyisten en pioniers.

En ook blijft het mogelijk om censuur toe te passen. Content zelf is op het decentrale web misschien niet te censureren, maar domeinnamen op dns-niveau zijn aan te pakken door bijvoorbeeld een overheid. Hier spelen de eerdergenoemde blockchain-domeinnamen een rol. Ook kunnen overheden toegang tot bepaalde online content beperken of blokkeren op basis van de geolocatie van bezoekers.

Dit is iets wat een vpn-verbinding kan omzeilen, maar het is maar om aan te geven dat vormen van censuur nog steeds mogelijk zijn.

Nog niet heel toegankelijk

Het decentrale web zit echt nog in zijn beginfase. Het probeert niet alleen iets tegen censuur te doen, maar stelt bovendien iedereen in staat om een steentje bij te dragen. Door schijfruimte beschikbaar te stellen, kan iedereen meehelpen en daar eventueel een zakcentje aan overhouden.

Heel toegankelijk is deze nieuwe versie van het internet nog niet. Hoewel meerdere browsers overwegen om ipfs:// te ondersteunen, is Opera voor Android momenteel de enige. De browserextensie voor alle Chromium-browsers van Unstoppable Domains, maakt het al iets makkelijker. Dan praten we alleen nog maar over de ondersteuning van ipfs://, en nog niet over sia:// en btfs://. Het zou zo maar kunnen dat .crypto-domeinnamen deze andere peer-to-peer-netwerken ook gaan ondersteunen, maar dat is koffiedik kijken.

Er moet dus nog veel gebeuren. Toch is er nu al sprake van een serieuze groei van het decentrale web. Videoplatform Dtube, de OpenBazaar-marktplaats en chatapplicatie Orbit zijn slechts enkele voorbeelden van apps die werken via IPFS. Ook Microsoft is met deze technologie bezig. Wellicht kunnen we binnenkort ook jouw website of app toevoegen aan dit rijtje?

Tekst: Robert Hoogendoorn

▼ Volgende artikel
Maak kennis met Grocy: de slimme huishoudmanager
© Odua Images
Huis

Maak kennis met Grocy: de slimme huishoudmanager

Vergeet je voldoende voorraden in te slaan in huis? Vind je te vaak voedsel in de koelkast waarvan de houdbaarheid verstreken is? Heb je moeite om huishoudelijke taken te plannen? Met Grocy heb je een oplossing om je huishouden te beheren. Het programma is gratis, webgebaseerd en eenvoudig op je eigen thuisserver te installeren.

In dit artikel laten we zien hoe je met Grocy je huishouden kunt organiseren en digitaliseren:

  • Installeer Grocy op je eigen server via Docker
  • Geef je voorraadlocaties en hoeveelheden aan
  • Houd bij wat je inkoopt, verbruikt en wanneer iets verloopt
  • Voeg recepten toe en plan maaltijden op basis van je voorraad
  • Stel automatische boodschappenlijsten samen
  • Plan huishoudelijke klusjes en stel herinneringen in

Ook handig: Druk huishouden? Deze apps weten er wel raad mee

Code downloaden

In dit artikel staat een voorbeeld van wat YAML-code. Omdat YAML erg gevoelig is voor foute spaties, kun je die code beter downloaden en daarna bekijken of kopiëren. Zie het bestand grocycode.txt.

Bedrijven beheren hun voorraden en taken doorgaans met ERP-software (Enterprise Resource Planning) om alles in goede banen te leiden. In de meeste huishoudens gebeurt dit ad hoc of met de hulp van een boodschappen-app. Maar toch kan het nuttig zijn om specifieke software te gebruiken om je huishoudelijke voorraden en taken te optimaliseren.

Een van die oplossingen is Grocy, dat op de website wordt omschreven als ‘ERP beyond your fridge’. De naam Grocy verwijst naar groceries (Engels voor boodschappen), en de focus ligt op het beheer van je boodschappen en voorraden in je koelkast en andere plaatsen in huis. Maar het gaat verder: je kunt er ook je huishoudelijke taken mee inplannen en handleidingen van huishoudelijke apparaten bij de hand houden.

1 Grocy installeren

Grocy installeer je op je eigen server. Hoewel er ook een Windows-desktopprogramma voor bestaat (Grocy Desktop) is het voordeel van de serverversie dat je er toegang tot hebt vanaf al je apparaten, ook je tablet of smartphone. Dat is handig wanneer je in huis met taken bezig bent en even snel op je mobiele apparaat iets wilt opzoeken of aanpassen. Grocy heeft ook een mobiele app die met je eigen server verbindt.

Het team van LinuxServer.io biedt een Docker-image aan om Grocy op je server te draaien.

Maak op je Linux-server een bestand compose.yml aan met de volgende inhoud:

---
services:
  grocy:
    image: lscr.io/linuxserver/grocy:latest
    container_name: grocy
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
    volumes:
      - /path/to/grocy/config:/config
    ports:
      - 9283:80
    restart: unless-stopped

Wijzig /path/to/grocy/config naar het pad op je Linux-server waar je de data van Grocy wilt plaatsen. Voer dan in dezelfde directory als waarin je het bestand compose.yml hebt opgeslagen dit commando uit:

docker compose up -d

Dat downloadt het image en start de container.

Op de website vind je ook een live-demo.

2 Aanmelden en instellingen

Surf nu naar http://ip-adres:9283, waarbij je in plaats van ip-adres het werkelijke interne ip-adres van je Linux-server gebruikt. In het aanmeldvenster log je in met gebruikersnaam admin en wachtwoord admin. Daarna krijg je een Stock overview met 0 producten te zien, maar het is aanbevolen om eerst het standaardwachtwoord te wijzigen. Doe dat door bovenaan rechts op de gebruikersnaam admin te klikken en dan Change password.

Je kunt daarna meerdere gebruikers aanmaken voor alle gezinsleden, die je elk specifieke rechten kunt geven. Het is ook nuttig om voor verschillende apparaten verschillende gebruikers aan te maken. Je kunt immers per gebruiker enkele instellingen aanpassen in het menu dat onder het icoontje naast de gebruikersnaam opent. Stel bijvoorbeeld bij een gebruiker voor een tablet in de keuken in dat het scherm aanblijft, zodat de tablet niet in slaapmodus gaat terwijl je je handen vol hebt. Overigens kun je de taal naar Nederlands wijzigen via het icoontje van de moersleutel rechtsboven en dan User settings te kiezen.

Indien gewenst stel je Grocy voor individuele gebruikers specifieke rechten in.

3 Locaties en hoeveelheidseenheden

Voordat je de virtuele voorraad kunt vullen, is het nodig om een aantal basisgegevens in te vullen. Klik hiervoor links op Beheer masterdata. Maar voordat je producten kunt aanmaken, dien je eerst locaties en hoeveelheidseenheden te definiëren. Locaties zijn fysieke locaties in je huis. Dat kunnen kamers zijn (keuken, berging, kelder), maar je kunt het zo specifiek maken als je wilt, bijvoorbeeld voorraadkast, snoepkast of theehoekje. Het is aanbevolen om sowieso locaties aan te maken voor je koelkast en diepvries, omdat de houdbaarheid van producten die hier in- en uitgaan speciale aandacht vereist. Klik dus links op Locaties en dan bovenaan op Toevoegen. Maak zo een voor een de benodigde locaties aan. Vink zeker Is diepvries aan bij je diepvries.

Bij Hoeveelheidseenheden vul je alle eenheden van hoeveelheden in voor producten die je koopt. Denk daarbij aan een fles, pak, blik, brik, stuk, sneetje, milliliter, gram enzovoort. Het is mogelijk om pas naar gelang je producten toevoegt hier eenheden te definiëren, maar maak alvast enkele algemene aan.

Je kunt ook Productcategorieën aanmaken. Dit is niet strikt noodzakelijk, maar door producten aan categorieën toe te kennen, heb je bijvoorbeeld altijd een overzicht van wat je op het gebied van fruit, snoep, deegwaren enzovoort in huis hebt. Ook Winkels zijn optioneel. Je kunt hiermee de prijsgeschiedenis van producten in verschillende winkels volgen.

Definieer in Grocy de locaties waar je producten bijhoudt.

4 Producten definiëren

Om een product te definiëren, klik je links, nog altijd onder Beheer masterdata, op Producten en dan bovenaan op Toevoegen. Je ziet nu een heleboel velden om in te vullen, waarvan de meeste optioneel zijn; de verplichte velden zijn rood-omkaderd. Voor iets eenvoudigs als een wc-rol hoef je alleen maar de naam in te voeren, de standaardlocatie en de eenheden voor de voorraad, aankoop, verbruik en voor prijzen. Die drie laatste zijn standaard hetzelfde als de eenheid voor de voorraad. Je kunt ook een afbeelding uploaden.

Van de optionele velden is Minimale voorraadhoeveelheid heel handig. Hierin voer je in hoeveel je altijd van het product in huis wilt hebben, gerekend in de voorraadeenheid. Als je voorraad onder dit aantal komt, toont Grocy het product in een andere achtergrondkleur in je voorraad. Klik tot slot op Opslaan en doorgaan, waarna je optioneel een streepjescode voor het product kunt toevoegen en specifieke conversies van hoeveelheden, zoals hoeveel gram per pak. Klik daarna op Opslaan en terugkeren naar producten.

Een product heeft diverse mogelijke eigenschappen.

5 Producten aankopen en verbruiken

Zodra een product aan de masterdata is toegevoegd, kun je aankopen van dit product hier registreren. Klik links op Aankoop (ditmaal niet meer onder Beheer masterdata), kies het product of klik op het icoontje om de streepjescode te scannen. Vul de hoeveelheid en de eenheid in en eventueel een vervaldatum. Gaat het om een product zonder vervaldatum, vink dan Verloopt nooit aan. Als je het product daarna op meerdere locaties wilt opslaan, kun je een deel van je voorraad verplaatsen door links op Overdragen te klikken.

Een product verbruiken doe je door links op Verbruiken te klikken. Je kiest het product en eventueel de locatie waaruit je het verbruikt. Daarna klik je op OK om het uit de voorraad te halen of Markeer als geopend om het te openen. Het zit dan nog altijd in je voorraad, maar voor producten met een houdbaarheid na opening begint de termijn nu te tellen. Je kunt ook aangeven dat je het product uit je voorraad haalt omdat het bedorven is of een specifiek voorraaditem selecteren wanneer je er enkele met meerdere vervaldatums hebt, of geopende en nog niet geopende.

Wanneer je een product verbruikt, past Grocy je voorraad aan.

6 Minder verspilling

Als je van al je voeding, cosmetica en andere producten met houdbaarheidsdatum de juiste gegevens bijhoudt in Grocy, krijg je in de voorraad altijd duidelijk te zien welke producten over datum zijn en welke binnen vijf dagen verlopen. Zo kun je op tijd die producten gebruiken zodat je ze niet hoeft weg te gooien.

Ook de producten die te weinig in voorraad zijn, krijgen een andere achtergrondkleur in de voorraad, zodat je ziet welke producten je moet aanvullen. In Boodschappenlijst kun je zelfs met één klik op een knop al die producten aan je boodschappenlijstje toevoegen, en met andere knoppen de producten die over datum zijn. Je kunt ook handmatig nog andere producten aan je boodschappenlijstje toevoegen.

Alle producten worden overigens per productcategorie getoond voor wat meer overzicht. Doe je uiteindelijk je boodschappen, dan kun je de aangekochte producten onmiddellijk in het lijstje afvinken om ze aan je voorraad toe te voegen.

Je voorraad geeft je een onmiddellijk overzicht van wat je eerst moet verbruiken en aankopen.

7 Gerelateerde producten

Wanneer je een product aanmaakt, kun je dit ook linken aan een ‘parent product’. Dat is handig als je bijvoorbeeld verschillende soorten, merken of hoeveelheidsverpakkingen van een product hebt die elk een eigen barcode hebben, terwijl het voor je voorraad of recepten niet uitmaakt welk van die producten je kiest. Stel dat je altijd drie repen chocola in je voorraad wilt hebben, maar het niet uitmaakt of het pure chocolade of melkchocolade is, dan kies je bij die twee laatste de chocolade als ‘parent product’.

Of stel dat je soms een pak van zes eieren koopt en soms een pak van twaalf. Dan definieer je een product ei, en twee producten 6 eieren en 12 eieren die naar het product ei verwijzen als ‘parent product’. Als voorraadeenheid neem je bij die twee laatste stuk, want je slaat eieren per stuk op. Als aankoopeenheid neem je echter doos, want je koopt die producten per doos.

Als je dit product opslaat, kun je onder de streepjescode ook hoeveelheidseenheid-conversies instellen voor dit product, waarin je dan instelt dat een doos uit zes stuks bestaat. En als je dan bij ei hebt gedefinieerd dat je altijd zes eieren wilt hebben en dan een doos van twaalf koopt en er zeven uit verbruikt, wordt er in je voorraad getoond dat je nog vijf eieren hebt en je de voorraad moet aanvullen.

Definieer een doos eieren met verwijzing naar het product ‘ei’.

8 Recepten

Het is ook mogelijk om recepten aan Grocy toe te voegen. Je geeft het recept een naam en vult het aantal porties in. Beschrijf de bereiding in het tekstveld en klik dan op Opslaan en doorgaan. Voeg daarna één voor één de benodigde ingrediënten toe.

Zodra je dit recept hebt opgeslagen, komt het in de lijst van recepten terecht, waarbij direct getoond wordt voor welke recepten je alle ingrediënten op voorraad hebt of welke recepten je het best binnenkort maakt om producten die bijna over de datum zijn te gebruiken.

Voor elk recept kun je ook het gewenst aantal porties aanpassen. Grocy rekent alle benodigde ingrediënten dan om. Als je bij de onderliggende producten de prijs en het aantal calorieën hebt ingevuld, krijg je hier te zien hoeveel het kost om dit recept te bereiden en hoeveel calorieën je ermee binnenkrijgt. Ontbrekende ingrediënten voeg je overigens eenvoudig toe aan je boodschappenlijstje met een klik op het winkelwagentje bovenaan. En links onder Maaltijdplan kun je recepten op een specifieke dag inplannen.

Link producten uit je voorraad aan de ingrediëntenlijst van je recept.

9 Klusjes

Een ander menu-onderdeel is Klusjes, waarmee je periodieke klusjes kunt inplannen en aan leden van je huishouden kunt toekennen. Je definieert eerst je klusjes onder Beheer masterdata. Voeg een klusje toe, geef het een naam, en kies de frequentie en startdatum. Je kunt ook instellen aan welke gebruiker het klusje toegewezen wordt, en zelfs welk product je bij het uitvoeren van het klusje verbruikt en in welke hoeveelheid. Dat is handig bijvoorbeeld als je bij het inruimen van de vaatwasmachine telkens een vaatwastablet verbruikt.

Als je daarna links op Klusjes klikt (deze keer niet onder Beheer masterdata), dan krijg je alle klusjes te zien die er moeten gebeuren en voor elk klusje wanneer het moet worden uitgevoerd, de laatste keer dat het is gebeurd en aan wie het is toegewezen.

Een gekleurde achtergrond wijst erop met welke klusjes je te laat bent, welke er vandaag moeten gebeuren en welke er binnen de vijf dagen moeten worden gedaan. Wanneer je een klusje hebt gedaan, klik je op het groene icoontje om het als gedaan te markeren of op het grijze icoontje om het deze keer over te slaan. Met een klik op de drie puntjes kun je ook een klusje op een andere datum opnieuw inplannen of een klusjesdagboek bekijken.

Behoud het overzicht over je huishoudelijke klusjes dankzij Grocy.

10 Taken

Zaken die je eenmalig of slechts sporadisch hoeft te doen, kun je in het onderdeel Taken definiëren en opvolgen. Om het overzicht te bewaren, definieer je alvast wat categorieën van taken in Beheer masterdata / Taakcategorieën. Denk daarbij aan categorieën zoals Tuin, Huis, Hobby enzovoort.

Daarna maak je onder Taken een nieuwe taak met een klik op Toevoegen. Je geeft de taak een naam, een uiterste datum, optioneel een categorie en finaal ook een gebruiker waaraan je de taak toewijst.

Wanneer je op deze manier taken hebt toegevoegd, krijg je onder Taken een overzicht, waarbij de taken worden gesorteerd op de uiterlijke datum waarop ze moeten worden uitgevoerd. Taken die je al had moeten uitvoeren, krijgen een rode achtergrond, taken die voor vandaag zijn gepland blauw en de taken die je de komende vijf dagen moet uitvoeren geel.

Je kunt filteren op categorie en status, en zoeken op een term wanneer je veel taken in je lijstje hebt. Heb je een taak uitgevoerd, dan vink je die gewoon af.

Vergeet nooit meer taken dankzij het overzicht van Grocy.

11 Batterijen en kalender

Ook je oplaadbare batterijen kun je in Grocy onderbrengen. Definieer een batterij onder Beheer masterdata / Batterijen, geef ze een naam, omschrijving en beschrijf in welk apparaat je ze gebruikt. Voer dan in om de hoeveel dagen je die batterij moet opladen.

Daarna krijg je onder Batterijen (deze keer niet onder Beheer masterdata) te zien wanneer je batterijen het laatst geladen zijn en wanneer de volgende laadcyclus is gepland. Net zoals bij de taken en dergelijke krijg je hier ook met een gekleurde achtergrond de status van het laden van de batterijen te zien. En laad je een batterij op, dan klik je hier eenvoudig op het groene knopje ervoor om de status aan te passen.

Uiteindelijk komen alle gebeurtenissen samen in de kalender. Daar zie je in één oogopslag welke taken je dient uit te voeren, wanneer je klusjes zijn ingepland, wanneer producten vervallen, wanneer je welke maaltijden hebt gepland en wanneer je batterijen weer zou moeten opladen.

Met een klik op de gebeurtenis in de kalender ga je door naar de desbetreffende Grocy-pagina. Je kunt deze kalender ook delen door middel van een url in iCal-formaat, maar dan moet je wel zorgen dat de gebruiker of het programma waarmee je dit deelt toegang tot je Grocy-installatie heeft zonder authenticatie.

Grocy verzamelt al je taken, klusjes, vervaldata, maaltijden en batterijlaadbeurten in één kalender.

12 Apparaten en meer

Een laatste functionaliteit die Grocy aanbiedt, vind je onder Apparaten. Hier voeg je een apparaat toe waar je notities bij maakt en een gebruikershandleiding uploadt. Zo heb je altijd de handleidingen van al je apparaten bij de hand. Het pdf-document wordt in de webinterface van Grocy getoond.

Verder is Grocy ook uitgebreid aan te passen. Zo kun je aan elke entiteit (zoals een product of een klusje) eigen velden toevoegen, voor als je extra informatie wilt bijhouden. Dat doe je in Beheer masterdata / Gebruikersvelden. Je kunt zelfs volledig nieuwe objecten definiëren in Beheer masterdata / Gebruikersentiteit. Al met al is Grocy dus een krachtig en flexibel hulpmiddel om je huishouden te optimaliseren.

Houd de handleidingen van al je apparaten bij op één plaats.

▼ Volgende artikel
Review Samsung Galaxy S25 Edge - Dunste smartphone met dikke prijs
© Rens Blom
Huis

Review Samsung Galaxy S25 Edge - Dunste smartphone met dikke prijs

De Samsung Galaxy S25 Edge is een opvallend dunne en lichte smartphone, maar wel een met een groot scherm. Met name jongere vrouwen zien zo'n type toestel wel zitten, stelt Samsung. Is de S25 Edge daadwerkelijk een goede keuze? Je leest het in deze review.

Uitstekend
Conclusie

We hebben de Samsung Galaxy S25 Edge met veel plezier gebruikt, op de kortere accuduur na. En dat vinden we toch wel een heel belangrijk punt in een smartphone. Zeker in een dure smartphone. De prijs vormt bovendien ons tweede struikelblok. De S25 Edge heeft een adviesprijs van 1249 euro, terwijl je de S25 Plus inmiddels al voor zo'n 900 euro hebt. Die telefoon biedt een betere accuduur in ruil voor een wat dikkere en zwaardere behuizing, en lijkt verder sprekend op de S25 Edge. Wij adviseren de meeste mensen daarom de S25 Plus, al willen we dat advies wat afzwakken als de S25 Edge sterk in prijs daalt. De kortere accuduur is echter een blijvend aandachtspunt.

Plus- en minpunten
  • Heel dun en licht
  • Compleet in functies
  • Zeven jaar updates
  • Kortere accuduur
  • Erg hoge adviesprijs

Als je de S25 overweegt, is het goed om te weten dat deze smartphone onderdeel uitmaakt van de S25-serie. Die is begin 2025 uitgebracht en bestaat uit de S25, S25 Plus en S25 Ultra. De prijzen van deze toestellen lopen ook in deze volgorde op. De S25 Edge debuteert eind mei voor een adviesprijs van 1249 euro, waarmee hij zich qua prijs tussen de S25 Plus en S25 Ultra nestelt. Een stevige prijs voor een dunne telefoon dus. 

©Rens Blom

Bijzonder slank ontwerp

Want dun, dat is de S25 Edge zeker. Hij meet slechts 5,8 millimeter, exclusief de camerabalk die wat extra uitsteekt. De geringe dikte zie je bijvoorbeeld terug bij de usb-c-poort, waar nauwelijks een rand omheen zit.

©Rens Blom

Ook in je hand voel je dat de S25 Edge dunner is dan andere smartphones. Maakt dat iets uit? Mwah, de een zal het cool vinden, terwijl de ander er een hoesje omheen doet en daarna weinig aandacht heeft voor de dikte van het toestel. Hieronder zie je de S25 Edge onder een Apple iPhone 16. Ja, de Samsung-telefoon is dunner, maar niet zó dun dat de iPhone oogt als een koelkast.

©Rens Blom

Wat je sowieso merkt, is het gewicht. De smartphone weegt 163 gram, en dat is echt weinig voor een telefoon met een 6,7-inch scherm. Het verschil met andere toestellen bedraagt enkele tientallen grammen, waardoor de S25 Edge comfortabeler in de hand ligt en minder aanwezig is in je broekzak. Minder comfortabel is typen op de S25 Edge als hij bijvoorbeeld op tafel ligt. Het toestel wiebelt dan nogal omdat het camera-eiland achterop duidelijk uitsteekt.

©Rens Blom

Het camera-eiland van de S25 Edge steekt duidelijk uit.

Volgens Samsung is de S25 Edge ondanks zijn dunne en lichte behuizing heel stevig – stevig genoeg om het toestel in de achterzak van je spijkerbroek te laten als je gaat zitten. Wij hebben ons inderdaad geen zorgen gemaakt om de degelijkheid, maar zeggen erbij dat we er ook niet op uit zijn geweest om de smartphone te beschadigen.

Een prettige zekerheid is de IP68-certificatie, die duidelijk maakt dat de telefoon tegen stof en water kan. De andere S25-modellen hebben ook een IP68-certicering. Draadloos opladen kan de S25 Edge ook, met maximaal 15 watt. Dat is niet heel rap, maar prima voor wie zijn toestel bijvoorbeeld 's nachts oplaadt.

Kortere accuduur

Over opladen gesproken: dat moet de S25 Edge waarschijnlijk elke nacht. Om de smartphone zo licht en dun te krijgen, is er gekozen voor een kleine accu van 3900 mAh. Ter vergelijking: veel smartphones met een even groot scherm hebben een 5000 tot 5500 mAh-accu. De accu in Samsungs Galaxy S25 Plus moet het doen met 4900 mAh. Het is dan ook niet vreemd dat de S25 Edge minder lang meegaat op een acculading en geen fantastische accuduur biedt. Jammer, maar het valt ons eerlijk gezegd nog mee. We kunnen de telefoon normaal gesproken met wat aandacht tot het slapengaan gebruiken. Op drukke dagen lukt dat zeker niet en is een powerbank of oplader al vóór het avondeten nodig.

Opladen via de usb-c-kabel kan met maximaal 25 watt, en dat is niet zo snel. Maar doordat de accu aan de kleine kant is, is de accu toch lekker snel vol. Niettemin kunnen veel concurrerende smartphones een stuk sneller opladen.

©Rens Blom

Specificaties

De overige specificaties van de S25 Edge weten echter wel te overtuigen en passen meer bij de hoge prijs van 1249 euro. We noemen een vliegensvlugge Qualcomm Snapdragon 8 Elite-processor met 12 GB werkgeheugen, minimaal 256 GB opslagcapaciteit en zeven jaar software-updates. Deze specificaties heeft de Edge-versie overgenomen van zijn S25-broers.

©Rens Blom

Het scherm lijkt geleend van de S25 Plus en is van uitstekende kwaliteit: kleurrijk, lekker fel als het moet en soepel ogend dankzij de 120Hz-verversingssnelheid. 

Interessant zijn de camera's. Dat zijn er slechts twee: een hoofdcamera en een groothoekcamera. Een zoomcamera, zoals aanwezig in de andere S25-modellen, is weggelaten om de Edge-versie zo dun te maken. Zoomen doet de Edge daarom via de hoofdcamera door een uitsnede te maken van een – let op – 200 megapixel-foto. Een prima methode, al is de echte smartphonefotograaf beter af met een toestel met een losstaande, geavanceerde zoomcamera.

Onderstaande serie foto's toont van boven naar beneden de hoofdcamera, de groothoekcamera en de zoommodus.

©Rens Blom

Conclusie: Samsung Galaxy S25 Edge kopen?

Al met al hebben we de Samsung Galaxy S25 Edge met veel plezier gebruikt, op de kortere accuduur na. En dat vinden we toch wel een heel belangrijk punt in een smartphone – zeker in een dure smartphone. De prijs vormt bovendien ons tweede struikelblok. De S25 Edge heeft een adviesprijs van 1249 euro, terwijl je de S25 Plus inmiddels al hebt voor zo'n 900 euro. Die telefoon biedt een betere accuduur in ruil voor een wat dikkere en zwaardere behuizing, en lijkt verder sprekend op de S25 Edge. Wij adviseren de meeste mensen daarom de S25 Plus, al willen we dat advies wat afzwakken als de S25 Edge sterk in prijs daalt. De kortere accuduur is echter een blijvend aandachtspunt.