Implement getNextAuthIdentityId to ensure unique ID assignment during OAuth identity creation. Update existing identity creation calls to utilize this new method, enhancing data integrity in the OAuth flow.
TimeClock Backend API v3.0
Node.js/Express Backend für die TimeClock Zeiterfassungsanwendung.
Installation
npm install
Konfiguration
Erstellen Sie eine .env Datei im Backend-Verzeichnis:
PORT=3000
NODE_ENV=development
Starten
Entwicklung (mit Auto-Reload)
npm run dev
Produktion
npm start
API-Dokumentation
Base URL
http://localhost:3010/api
Endpunkte
Health Check
GET /api/health
Response:
{
"status": "ok",
"message": "TimeClock API v3.0.0",
"timestamp": "2025-10-15T10:00:00.000Z"
}
Alle Zeiteinträge abrufen
GET /api/time-entries
Einzelnen Zeiteintrag abrufen
GET /api/time-entries/:id
Neuen Zeiteintrag erstellen
POST /api/time-entries
Content-Type: application/json
{
"project": "Mein Projekt",
"description": "Beschreibung"
}
Zeiteintrag aktualisieren
PUT /api/time-entries/:id
Content-Type: application/json
{
"endTime": "2025-10-15T10:30:00.000Z",
"description": "Aktualisierte Beschreibung"
}
Zeiteintrag löschen
DELETE /api/time-entries/:id
Statistiken abrufen
GET /api/time-entries/stats/summary
Response:
{
"totalEntries": 10,
"completedEntries": 8,
"runningEntries": 2,
"totalHours": "42.50",
"totalSeconds": 153000,
"projectStats": {
"Projekt A": {
"duration": 86400,
"count": 5
}
}
}
Datenmodell
TimeEntry
{
id: Number,
startTime: String (ISO 8601),
endTime: String (ISO 8601) | null,
description: String,
project: String,
duration: Number (Sekunden) | null,
isRunning: Boolean
}
Dependencies
- express - Web-Framework
- cors - CORS-Middleware
- helmet - Sicherheits-Middleware
- morgan - HTTP Request Logger
- dotenv - Environment Variables
Entwicklung
Der aktuelle Stand verwendet In-Memory-Speicher. Für eine Produktionsumgebung sollte eine Datenbank integriert werden:
- MongoDB mit mongoose
- PostgreSQL mit pg/sequelize
- MySQL mit mysql2/sequelize