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
182 lines
3.5 KiB
Markdown
182 lines
3.5 KiB
Markdown
# 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! 🕐
|
|
|
|
|
|
|