Features: - Backend: Node.js/Express mit MySQL/MariaDB - Frontend: Vue.js 3 mit Composition API - UTC-Zeithandling für korrekte Zeiterfassung - Timewish-basierte Überstundenberechnung - Wochenübersicht mit Urlaubs-/Krankheits-/Feiertagshandling - Bereinigtes Arbeitsende (Generell/Woche) - Überstunden-Offset für historische Daten - Fixed Layout mit scrollbarem Content - Kompakte UI mit grünem Theme
3.5 KiB
3.5 KiB
TimeClock - Schnellstart-Anleitung
🚀 In 5 Minuten zur laufenden Anwendung
Schritt 1: MySQL Setup (Einmalig)
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
- ✅
.envDatei mit Credentials
Schritt 2: Server starten
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
- Browser öffnen: http://localhost:5010
- Klick auf "Registrieren"
- Formular ausfüllen:
- Name:
Ihr Name - E-Mail:
ihre@email.de - Passwort:
minimum6zeichen
- Name:
- "Registrieren" klicken
- Zum Login weitergeleitet
- Mit den Credentials einloggen
Schritt 4: Timer starten
- Im Dashboard:
- Projekt:
Mein erstes Projekt - Beschreibung:
Testing TimeClock
- Projekt:
- "Starten" klicken
- Timer läuft! ⏱️
- "Stoppen" wenn fertig
🔧 Manuelle MySQL-Einrichtung
Falls Sie das Script nicht verwenden möchten:
1. MySQL einloggen
mysql -u root -p
2. Datenbank und Benutzer erstellen
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
cd /home/torsten/Programs/TimeClock/backend
nano .env
Setzen Sie:
DB_USER=timeclock_user
DB_PASSWORD=IhrPasswort
DB_NAME=stechuhr2
🆘 Troubleshooting
"Access denied for user"
# Berechtigungen prüfen
mysql -u root -p
SHOW GRANTS FOR 'timeclock_user'@'localhost';
"Can't connect to MySQL server"
# MySQL starten
sudo systemctl start mysql
sudo systemctl status mysql
"Unknown database stechuhr2"
# Datenbank erstellen
mysql -u root -p
CREATE DATABASE stechuhr2;
Port bereits belegt
# 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
- Mehrere Projekte anlegen
- Statistiken ansehen
- Passwort ändern im Profil
- Weitere Benutzer registrieren
📖 Weitere Dokumentation
README.md- Vollständige ProjektdokumentationSETUP.md- Detaillierte Setup-AnleitungAUTH.md- Authentifizierung & Session-Managementbackend/MYSQL_SETUP.md- MySQL-Detailanleitungbackend/DATABASE.md- Datenbank-Schemabackend/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! 🕐