Files
stechuhr3/QUICKSTART.md
Torsten Schulz (local) e95bb4cb76 Initial commit: TimeClock v3 - Node.js/Vue.js Zeiterfassung
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
2025-10-17 14:11:28 +02:00

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
  • .env Datei 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

  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

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

  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:

Viel Erfolg mit der Zeiterfassung! 🕐