Server niet actief

Start de server om kassabonnen te kunnen uploaden en mappen aan te maken:

npm start

Inloggen

-

Totaal Uitgegeven

-

Kassabonnen

-

Producten Gekocht

-

Gemiddeld per Bezoek

+ Selecteer kassabon
Uploaden...

Kassabonnen

Mijn Lijstjes

📊

Alle producten

Overzicht van al je gekochte producten

🔗

Gekoppelde bonnen

Vergelijk boodschappenlijstjes met kassabonnen

Totaal geselecteerde periode € 0,00
Gemiddeld per maand € 0,00
Aantal producten 0

Uitgaven over tijd

Producten

Laagste
Hoogste
Verplaats afgevinkte producten automatisch naar onderen
Toon looproute-categorieën als kopjes in lijstjes

Voeg supermarkten toe waar je boodschappen doet. Klik op ★ om een supermarkt als standaard in te stellen.

Laden...

Raspberry Pi Synchronisatie

De applicatie draait op een Raspberry Pi. Gebruik onderstaande scripts om wijzigingen te synchroniseren.

Sync Script (zonder data)

Synchroniseert code en afbeeldingen, maar behoudt de data op de Pi:

cd /Users/gerilekkerkerker/Documents/Claude/boodschappen
./sync-to-pi.sh

Sync Script (inclusief data)

Synchroniseert alles inclusief data.json (overschrijft data op Pi!):

cd /Users/gerilekkerkerker/Documents/Claude/boodschappen
./sync-to-pi.sh --include-data

Handmatig bestanden kopieren

# Enkel code bestanden
scp server.js dashboard.html config.js pi@192.168.178.231:~/boodschappen/

# Kassabonnen afbeeldingen
scp -r kassabonnen pi@192.168.178.231:~/boodschappen/

# Data bestand
scp data.json pi@192.168.178.231:~/boodschappen/

Raspberry Pi Service Beheer

De applicatie draait als systemd service op de Raspberry Pi.

Service commando's

# SSH naar de Pi
ssh pi@192.168.178.231

# Service status bekijken
sudo systemctl status boodschappen

# Service herstarten
sudo systemctl restart boodschappen

# Service stoppen
sudo systemctl stop boodschappen

# Service starten
sudo systemctl start boodschappen

# Logs bekijken (live)
sudo journalctl -u boodschappen -f

Netwerk Informatie

Publieke URL https://boodschappen.revasa.nl
Raspberry Pi IP (intern) 192.168.178.231
Dashboard URL (Pi direct) http://192.168.178.231:3000
Dashboard URL (lokaal dev) http://localhost:3000
SSH toegang ssh pi@192.168.178.231
Applicatie map (Pi) /home/pi/boodschappen

Lokale Netwerk Toegang (hosts file)

Om https://boodschappen.revasa.nl te gebruiken vanaf je eigen netwerk, moet je een hosts-regel toevoegen. Dit is nodig omdat de meeste routers (zoals Ziggo) geen NAT loopback ondersteunen.

Mac / Linux

Open Terminal en voer uit:

sudo nano /etc/hosts

Voeg onderaan toe:

# Boodschappen app op Raspberry Pi
192.168.178.231    boodschappen.revasa.nl

Sla op met Ctrl+O, Enter, Ctrl+X. Leeg daarna de DNS cache:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Windows

Open Kladblok als Administrator (rechtermuisknop > Als administrator uitvoeren) en open:

C:\Windows\System32\drivers\etc\hosts

Voeg onderaan toe:

# Boodschappen app op Raspberry Pi
192.168.178.231    boodschappen.revasa.nl

Sla op en leeg de DNS cache via Command Prompt (als Administrator):

ipconfig /flushdns

Eerste Installatie Raspberry Pi

Instructies voor het opzetten van een nieuwe Raspberry Pi:

1. Node.js installeren

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash -
sudo apt install -y nodejs

2. Applicatie map aanmaken

mkdir -p ~/boodschappen/uploads
mkdir -p ~/boodschappen/kassabonnen

3. Bestanden kopieren (vanaf Mac)

cd /Users/gerilekkerkerker/Documents/Claude/boodschappen
scp server.js dashboard.html config.js package.json package-lock.json \
    data.json product_categories.json .dropbox_config.json \
    pi@192.168.178.231:~/boodschappen/
scp -r kassabonnen pi@192.168.178.231:~/boodschappen/

4. Dependencies installeren

cd ~/boodschappen
npm install

5. Systemd service aanmaken

sudo nano /etc/systemd/system/boodschappen.service

Inhoud van het service bestand:

[Unit]
Description=Boodschappen Dashboard
After=network.target

[Service]
Type=simple
User=pi
WorkingDirectory=/home/pi/boodschappen
ExecStart=/usr/bin/node server.js
Restart=on-failure
RestartSec=10
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

6. Service activeren

sudo systemctl daemon-reload
sudo systemctl enable boodschappen
sudo systemctl start boodschappen