Refactor the footer in App.vue to include the application version and improve layout with flexbox. Remove the version display from StatusBox.vue and update the app version in version.js from 3.0.0 to 3.1.0.
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