Files
fruehstuecksapp/README.md

2.5 KiB

Frühstückskonten Verwaltung

Eine Web-App zur Verwaltung von Frühstückskonten für den Offenen Treff. Besucher können über eine PIN ihren Kontostand abfragen, Mitarbeiter können Einzahlungen und Abbuchungen vornehmen.

Funktionen

Für Besucher

  • Kontostand mit 4-stelliger PIN abfragen
  • Übersichtlicher Kontostand in großem Format

Für Mitarbeiter

  • Konten anlegen und verwalten
  • Einzahlungen und Abbuchungen durchführen
  • Transaktionshistorie einsehen
  • Feste Artikelpreise verwenden oder manuelle Beträge eingeben

Für Administratoren

  • Alle Mitarbeiterfunktionen
  • Artikelverwaltung (anlegen, bearbeiten, löschen)
  • Benutzerverwaltung (Mitarbeiter anlegen, löschen)

Installation

Voraussetzungen

  • Node.js (Version 14 oder höher)
  • npm (wird mit Node.js installiert)

Schritte

  1. Repository klonen und in das Verzeichnis wechseln:
cd fruehstuecksapp
  1. Abhängigkeiten installieren:
npm install
  1. Datenbank initialisieren: Die Datenbank wird automatisch beim ersten Start erstellt.

  2. Anwendung starten:

npm start

Für die Entwicklung mit automatischem Neustart:

npm run dev
  1. Im Browser öffnen: http://localhost:3000

Standard-Anmeldung

  • Benutzername: admin
  • Passwort: admin123

Datenbank

Die Anwendung verwendet SQLite und speichert die Daten in der Datei fruehstueck.db im Projektverzeichnis.

Datenbank-Schema

  • users: Mitarbeiter und Administratoren
  • accounts: Besucher-Konten mit PIN
  • items: Artikel mit festen Preisen
  • transactions: Alle Transaktionen (Einzahlungen und Abbuchungen)

Sicherheit

  • Alle Passwörter und PINs werden mit bcrypt gehasht
  • Sessions werden serverseitig verwaltet
  • Standard-Admin-Passwort sollte nach der ersten Anmeldung geändert werden

Konfiguration

Umgebungsvariablen

  • PORT: Port für den Server (Standard: 3000)
  • SESSION_SECRET: Geheimnis für Session-Cookies (Standard: 'fruehstueck-secret-key')

Beispiel für .env-Datei:

PORT=3000
SESSION_SECRET=your-secret-key-here

API-Endpunkte

GET /pin-check

  • Seite zur PIN-Abfrage für Besucher

POST /api/pin-check

  • JSON-API zur PIN-Abfrage (für mögliche mobile Integration)
  • Request: { "pin": "1234" }
  • Response: { "success": true, "name": "Max Mustermann", "balance": 15.50 }

Lizenz

Diese Software ist für den internen Gebrauch im Offenen Treff bestimmt.