openssl genrsa -out ssl/key.pem
openssl req -new -key ssl/key.pem -out ssl/csr.pem
openssl x509 -req -days 9999 -in ssl/csr.pem -signkey ssl/key.pem -out ssl/cert.pem
rm ssl/csr.pem
In der Datei config.json können einige Einstellungen angepasst werden.
Die Standardeinstellungen sind für die meisten Anwendungsfälle aber ausreichend.
Hier können die Ports für http/https geändert werden.
Die Weiterleitung von http auf https kann auch bei server.http.enable
ausgeschaltet werden, wenn sie nicht benötigt wird.
Über file
wird angegeben, welche Datei für die sqlite Datenbank verwendet wird.
Diese Datei wird erstellt, wenn sie nicht existiert.
Wenn dieser Pfad relativ angegeben wird, wird er relativ zum Projektverzeichnis interpretiert.
Npm die benötigten Pakete aus package.json installieren lassen.
npm install
node server.js
Die Adminseite ist dann über /admin erreichbar.
Verfügbare Seiten:
- /: Abholanzeige für Gäste
- /menu: Menü für die Gäste
- /admin: Verwaltung
- /checkout: Kasse
- /kitchen: Küche
- /stats: Statistik über abgeschlossene Bestellungen
Unterseiten, auf denen eine Veranstaltung ausgewählt werden muss, kann auch der URL der am Ende der Name der Veranstaltung angefügt werden.
(z.B. https://localhost/checkout/event)\
Alternativ kann die Veranstaltungs-ID auch als GET-Argument venue
übergeben werden.
(z.B. https://localhost/checkout?venue=1)
Die Hauptseite ist nicht dafür gedacht mit Maus & Tastatur mit ihr zu interagieren. Die Einstellungen hierfür werden also schon in der URL als GET-Parameter mit übergeben:
include
: Bestellungen werden nur angezeigt, wenn mindestens ein Item zu einer hier angegebenen Kategorie gehört.exclude
: Bestellungen werden nur angezeigt, wenn mindestens ein Item zu einer hier nicht angegebenen Kategorie gehört.
Für include
& exclude
können jeweils mehrere IDs übergeben werden, indem das Argument mehrmals angegeben wird. (z.B. https://localhost?exclude=1&exclude=2)