Files
stechuhr3/frontend
Torsten Schulz (local) 328bc9e776 Add account deletion feature and privacy section
Implement a new endpoint for account deletion in AuthController, allowing users to permanently delete their accounts and associated data. Update AuthService to handle account deletion logic, including confirmation checks and data removal from the database. Enhance frontend with new views and components for account deletion and privacy information, including links in the side menu and profile view. Update mobile app to support account deletion and privacy sections, improving user experience and compliance with data protection standards.
2026-05-15 11:20:08 +02:00
..

TimeClock Frontend v3.0

Vue 3 Frontend für die TimeClock Zeiterfassungsanwendung.

Installation

npm install

Entwicklung

npm run dev

Öffnen Sie http://localhost:5010 in Ihrem Browser.

Build

npm run build

Die Build-Dateien werden im dist/ Ordner erstellt.

Preview (nach Build)

npm run preview

Technologien

  • Vue 3 - Progressive JavaScript Framework
  • Vue Router - Offizielle Router-Bibliothek
  • Pinia - State Management
  • Vite - Next Generation Frontend Tooling

Projektstruktur

src/
├── assets/          # CSS und statische Assets
├── components/      # Wiederverwendbare Komponenten
├── router/          # Vue Router Konfiguration
├── stores/          # Pinia Stores
├── views/           # Seiten-Komponenten
│   ├── Dashboard.vue
│   ├── Entries.vue
│   └── Stats.vue
├── App.vue          # Root-Komponente
└── main.js          # Entry Point

Features

Dashboard

  • Timer starten/stoppen
  • Echtzeit-Anzeige der laufenden Zeit
  • Projekt und Beschreibung eingeben
  • Letzte 5 Einträge anzeigen

Einträge

  • Tabellarische Übersicht aller Einträge
  • Status-Anzeige (laufend/beendet)
  • Einträge löschen

Statistiken

  • Gesamtstatistiken
  • Projekt-basierte Auswertungen
  • Visualisierung der Arbeitszeit

State Management

Die Anwendung verwendet Pinia für zentrales State Management:

// stores/timeStore.js
const timeStore = useTimeStore()

// Verfügbare Actions
timeStore.fetchEntries()
timeStore.startTimer({ project, description })
timeStore.stopTimer()
timeStore.deleteEntry(id)
timeStore.fetchStats()

API-Konfiguration

Die API-URL ist in src/stores/timeStore.js konfiguriert:

const API_URL = 'http://localhost:3010/api'

Für Produktion sollte dies in eine Environment-Variable verschoben werden.

Styling

Die Anwendung verwendet:

  • Custom CSS mit CSS Variables
  • Moderne Gradients
  • Responsive Design
  • Card-basiertes Layout