# TimeClock - Schnellstart-Anleitung ## 🚀 In 5 Minuten zur laufenden Anwendung ### Schritt 1: MySQL Setup (Einmalig) ```bash cd /home/torsten/Programs/TimeClock/backend ./setup-mysql.sh ``` **Das Script fragt:** - MySQL Root-Passwort - Gewünschter DB-Benutzer (Standard: `timeclock_user`) - Gewünschtes Passwort (Standard: `timeclock_dev_2025`) **Das Script erstellt:** - ✅ Datenbank `stechuhr2` - ✅ MySQL-Benutzer mit Berechtigungen - ✅ `.env` Datei mit Credentials --- ### Schritt 2: Server starten ```bash cd /home/torsten/Programs/TimeClock npm run dev ``` **Erwartete Ausgabe:** ``` [0] ✅ Sequelize: MySQL-Datenbankverbindung hergestellt [0] ✅ Sequelize: Models initialisiert [0] 🕐 TimeClock Server läuft auf Port 3010 [1] ➜ Local: http://localhost:5010/ ``` --- ### Schritt 3: Ersten Account erstellen 1. Browser öffnen: **http://localhost:5010** 2. Klick auf **"Registrieren"** 3. Formular ausfüllen: - Name: `Ihr Name` - E-Mail: `ihre@email.de` - Passwort: `minimum6zeichen` 4. **"Registrieren"** klicken 5. Zum **Login** weitergeleitet 6. Mit den Credentials einloggen --- ### Schritt 4: Timer starten 1. Im Dashboard: - Projekt: `Mein erstes Projekt` - Beschreibung: `Testing TimeClock` 2. **"Starten"** klicken 3. Timer läuft! ⏱️ 4. **"Stoppen"** wenn fertig --- ## 🔧 Manuelle MySQL-Einrichtung Falls Sie das Script nicht verwenden möchten: ### 1. MySQL einloggen ```bash mysql -u root -p ``` ### 2. Datenbank und Benutzer erstellen ```sql CREATE DATABASE stechuhr2 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'timeclock_user'@'localhost' IDENTIFIED BY 'IhrPasswort'; GRANT ALL PRIVILEGES ON stechuhr2.* TO 'timeclock_user'@'localhost'; FLUSH PRIVILEGES; EXIT; ``` ### 3. .env Datei bearbeiten ```bash cd /home/torsten/Programs/TimeClock/backend nano .env ``` Setzen Sie: ```env DB_USER=timeclock_user DB_PASSWORD=IhrPasswort DB_NAME=stechuhr2 ``` --- ## 🆘 Troubleshooting ### "Access denied for user" ```bash # Berechtigungen prüfen mysql -u root -p SHOW GRANTS FOR 'timeclock_user'@'localhost'; ``` ### "Can't connect to MySQL server" ```bash # MySQL starten sudo systemctl start mysql sudo systemctl status mysql ``` ### "Unknown database stechuhr2" ```bash # Datenbank erstellen mysql -u root -p CREATE DATABASE stechuhr2; ``` ### Port bereits belegt ```bash # Ports prüfen sudo ss -tlnp | grep -E "3010|5010" # Prozesse beenden falls nötig pkill -f "TimeClock" ``` --- ## 📊 Features testen ### ✅ Registrierung & Login - `/register` - Neuen Account erstellen - `/login` - Einloggen - Session bleibt nach Reload erhalten ### ✅ Timer-Funktionen - Dashboard: Timer starten/stoppen - Einträge: Alle Zeiteinträge anzeigen - Statistiken: Auswertungen nach Projekt ### ✅ Passwort-Reset - `/password-forgot` - E-Mail eingeben - In DEV-Mode wird Reset-Token angezeigt - `/password-reset?token=XXX` - Neues Passwort setzen --- ## 🎯 Nächste Schritte 1. **Mehrere Projekte** anlegen 2. **Statistiken** ansehen 3. **Passwort ändern** im Profil 4. **Weitere Benutzer** registrieren --- ## 📖 Weitere Dokumentation - `README.md` - Vollständige Projektdokumentation - `SETUP.md` - Detaillierte Setup-Anleitung - `AUTH.md` - Authentifizierung & Session-Management - `backend/MYSQL_SETUP.md` - MySQL-Detailanleitung - `backend/DATABASE.md` - Datenbank-Schema - `backend/ARCHITECTURE.md` - Backend-Architektur --- ## 🎉 Fertig! Ihre TimeClock v3 Anwendung läuft jetzt auf: - **Frontend:** http://localhost:5010 - **Backend API:** http://localhost:3010/api Viel Erfolg mit der Zeiterfassung! 🕐