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
This commit is contained in:
181
QUICKSTART.md
Normal file
181
QUICKSTART.md
Normal file
@@ -0,0 +1,181 @@
|
||||
# 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! 🕐
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user