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:
173
SETUP.md
Normal file
173
SETUP.md
Normal file
@@ -0,0 +1,173 @@
|
||||
# TimeClock v3 - Schnellstart-Anleitung
|
||||
|
||||
## Schritt-für-Schritt Installation
|
||||
|
||||
### 1. Voraussetzungen prüfen
|
||||
|
||||
Stellen Sie sicher, dass Node.js installiert ist:
|
||||
|
||||
```bash
|
||||
node --version # sollte v16 oder höher sein
|
||||
npm --version
|
||||
```
|
||||
|
||||
### 2. Abhängigkeiten installieren
|
||||
|
||||
#### Option A: Alles auf einmal (empfohlen)
|
||||
```bash
|
||||
npm run install:all
|
||||
```
|
||||
|
||||
#### Option B: Manuell
|
||||
```bash
|
||||
# Root-Abhängigkeiten
|
||||
npm install
|
||||
|
||||
# Backend-Abhängigkeiten
|
||||
cd backend
|
||||
npm install
|
||||
|
||||
# Frontend-Abhängigkeiten
|
||||
cd ../frontend
|
||||
npm install
|
||||
```
|
||||
|
||||
### 3. Backend-Konfiguration
|
||||
|
||||
Erstellen Sie eine `.env` Datei im `backend/` Verzeichnis:
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
Standardwerte in `.env`:
|
||||
```env
|
||||
PORT=3000
|
||||
NODE_ENV=development
|
||||
```
|
||||
|
||||
### 4. Anwendung starten
|
||||
|
||||
#### Option A: Beide Server gleichzeitig (empfohlen)
|
||||
```bash
|
||||
# Im Root-Verzeichnis
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Dies startet:
|
||||
- Backend auf `http://localhost:3010`
|
||||
- Frontend auf `http://localhost:5010`
|
||||
|
||||
#### Option B: Server einzeln starten
|
||||
|
||||
**Terminal 1 - Backend:**
|
||||
```bash
|
||||
cd backend
|
||||
npm run dev
|
||||
```
|
||||
|
||||
**Terminal 2 - Frontend:**
|
||||
```bash
|
||||
cd frontend
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 5. Anwendung öffnen
|
||||
|
||||
Öffnen Sie Ihren Browser und navigieren Sie zu:
|
||||
```
|
||||
http://localhost:5010
|
||||
```
|
||||
|
||||
## Erste Schritte
|
||||
|
||||
1. **Timer starten**
|
||||
- Geben Sie ein Projekt ein (z.B. "Website-Entwicklung")
|
||||
- Optional: Fügen Sie eine Beschreibung hinzu
|
||||
- Klicken Sie auf "Starten"
|
||||
|
||||
2. **Timer läuft**
|
||||
- Die Zeit wird in Echtzeit angezeigt
|
||||
- Sie können den Timer jederzeit stoppen
|
||||
|
||||
3. **Einträge ansehen**
|
||||
- Navigieren Sie zu "Einträge"
|
||||
- Sehen Sie alle Ihre Zeiteinträge
|
||||
- Löschen Sie Einträge bei Bedarf
|
||||
|
||||
4. **Statistiken**
|
||||
- Navigieren Sie zu "Statistiken"
|
||||
- Sehen Sie Ihre Gesamtarbeitszeit
|
||||
- Überblick nach Projekten
|
||||
|
||||
## Fehlerbehebung
|
||||
|
||||
### Port bereits in Verwendung
|
||||
|
||||
**Backend (Port 3010):**
|
||||
```bash
|
||||
# Linux/Mac
|
||||
lsof -ti:3010 | xargs kill -9
|
||||
|
||||
# Windows
|
||||
netstat -ano | findstr :3010
|
||||
taskkill /PID <PID> /F
|
||||
```
|
||||
|
||||
**Frontend (Port 5010):**
|
||||
```bash
|
||||
# Linux/Mac
|
||||
lsof -ti:5010 | xargs kill -9
|
||||
|
||||
# Windows
|
||||
netstat -ano | findstr :5010
|
||||
taskkill /PID <PID> /F
|
||||
```
|
||||
|
||||
### API-Verbindungsfehler
|
||||
|
||||
Stellen Sie sicher, dass:
|
||||
1. Das Backend auf Port 3010 läuft
|
||||
2. Das Frontend auf Port 5010 läuft
|
||||
3. Keine Firewall die Verbindung blockiert
|
||||
|
||||
### Module nicht gefunden
|
||||
|
||||
```bash
|
||||
# Alle node_modules löschen und neu installieren
|
||||
rm -rf node_modules backend/node_modules frontend/node_modules
|
||||
npm run install:all
|
||||
```
|
||||
|
||||
## Produktion
|
||||
|
||||
### Frontend bauen
|
||||
```bash
|
||||
cd frontend
|
||||
npm run build
|
||||
```
|
||||
|
||||
Die fertigen Dateien befinden sich in `frontend/dist/`
|
||||
|
||||
### Backend für Produktion
|
||||
```bash
|
||||
cd backend
|
||||
NODE_ENV=production npm start
|
||||
```
|
||||
|
||||
### Frontend für Produktion bereitstellen
|
||||
|
||||
Die gebauten Dateien aus `frontend/dist/` können auf jedem Webserver bereitgestellt werden:
|
||||
- Nginx
|
||||
- Apache
|
||||
- Netlify
|
||||
- Vercel
|
||||
- GitHub Pages
|
||||
|
||||
## Nächste Schritte
|
||||
|
||||
- Lesen Sie die vollständige [README.md](README.md)
|
||||
- Sehen Sie sich die [API-Dokumentation](backend/README.md) an
|
||||
- Passen Sie die Anwendung nach Ihren Bedürfnissen an
|
||||
|
||||
Reference in New Issue
Block a user