Initial commit: Frühstückskonten Verwaltung Web-App
This commit is contained in:
103
README.md
Normal file
103
README.md
Normal file
@ -0,0 +1,103 @@
|
||||
# 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:**
|
||||
```bash
|
||||
cd fruehstuecksapp
|
||||
```
|
||||
|
||||
2. **Abhängigkeiten installieren:**
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. **Datenbank initialisieren:**
|
||||
Die Datenbank wird automatisch beim ersten Start erstellt.
|
||||
|
||||
4. **Anwendung starten:**
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
Für die Entwicklung mit automatischem Neustart:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
5. **Im Browser öffnen:**
|
||||
[http://localhost:3000](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.
|
||||
Reference in New Issue
Block a user