# Schnellstart-Anleitung ## Installation in 3 Schritten ### 1. Projekt entpacken Entpacken Sie das Projekt-Archiv in einen beliebigen Ordner auf Ihrem Server. ### 2. Dependencies installieren Öffnen Sie ein Terminal/Kommandozeile im Projekt-Ordner und führen Sie aus: ```bash npm install ``` Dies installiert alle benötigten Pakete: - express (Webserver) - sqlite3 (Datenbank) - bcryptjs (Passwort-Verschlüsselung) - express-session (Session-Verwaltung) - ejs (Template Engine) - pdfkit (PDF-Generierung) - body-parser (Request-Verarbeitung) ### 3. Server starten ```bash npm start ``` Die Anwendung ist nun unter `http://localhost:3000` erreichbar. ## Erster Login ### Als Administrator - URL: `http://localhost:3000` - Benutzername: `admin` - Passwort: `admin123` Nach dem Login können Sie: - Neue Mitarbeiter anlegen - Rollen vergeben (Mitarbeiter, Verwaltung, Admin) - Benutzer verwalten ### Als Verwaltung - URL: `http://localhost:3000` - Benutzername: `verwaltung` - Passwort: `verwaltung123` Nach dem Login können Sie: - Eingereichte Stundenzettel einsehen - PDFs erstellen und herunterladen ## Wichtige Hinweise ⚠️ **Passwörter ändern!** Bitte ändern Sie die Standard-Passwörter nach der ersten Anmeldung! ⚠️ **Firewall-Einstellungen** Stellen Sie sicher, dass Port 3000 in Ihrer Firewall geöffnet ist, falls Sie von anderen Computern darauf zugreifen möchten. ⚠️ **Produktiv-Einsatz** Für den Produktiv-Einsatz empfehlen wir: - HTTPS verwenden (z.B. mit nginx als Reverse Proxy) - Starke Passwörter verwenden - Regelmäßige Backups der Datenbank erstellen ## Port ändern Falls Port 3000 bereits belegt ist, können Sie den Port ändern: 1. Öffnen Sie `server.js` 2. Ändern Sie die Zeile `const PORT = 3000;` auf den gewünschten Port 3. Speichern und Server neu starten ## Datenbank-Speicherort Die SQLite-Datenbank wird automatisch als `stundenerfassung.db` im Projekt-Verzeichnis erstellt. **Backup erstellen:** Kopieren Sie einfach die Datei `stundenerfassung.db` an einen sicheren Ort. ## Problemlösung ### Server startet nicht - Prüfen Sie, ob Port 3000 bereits belegt ist - Prüfen Sie, ob Node.js installiert ist: `node --version` - Prüfen Sie, ob alle Dependencies installiert sind: `npm install` ### Login funktioniert nicht - Löschen Sie die Datei `stundenerfassung.db` und starten Sie den Server neu - Die Datenbank wird dann mit den Standard-Benutzern neu erstellt ### PDF-Download funktioniert nicht - Prüfen Sie die Browser-Konsole auf Fehler - Stellen Sie sicher, dass Popups für die Seite erlaubt sind ## Workflow 1. **Admin** legt neue Mitarbeiter an 2. **Mitarbeiter** melden sich an und erfassen ihre Stunden 3. Mitarbeiter sehen ihre Woche (Montag-Sonntag) 4. Einträge werden automatisch beim Ausfüllen gespeichert 5. Am Ende der Woche: "Woche abschicken" klicken 6. **Verwaltung** sieht eingereichte Stundenzettel im Postfach 7. Verwaltung kann PDFs erstellen und herunterladen ## Support Bei Fragen oder Problemen: - Prüfen Sie die ausführliche README.md - Kontaktieren Sie Ihre IT-Abteilung