Frontend.md - JinraGit/travelManager GitHub Wiki

🎨 Frontend – Struktur & Komponenten

βš™οΈ Technologien

  • React mit Vite
  • JavaScript (ES6+)
  • Bootstrap fΓΌr Styling
  • Axios fΓΌr HTTP-Kommunikation

πŸ“ Projektstruktur

Pfad: frontend/src/

Ordner / Datei Beschreibung
components/ Wiederverwendbare UI-Komponenten
β”œβ”€β”€ auth/ Login- und Registrierungsformulare
β”œβ”€β”€ trips/ TripForm, ConfirmationModal, Messages
context/ Zustandsverwaltung (Message, Theme)
layouts/ Layout-Komponenten wie Sidebar, AuthLayout
lib/ Hilfsfunktionen und API-Logik
β”œβ”€β”€ auth/ Validierung und Login-Funktionen
β”œβ”€β”€ constants/ Defaultwerte fΓΌr Hotel/Transport
β”œβ”€β”€ meetings/ Meeting-Funktionen
β”œβ”€β”€ trips/ Trip-API-Funktionen
β”œβ”€β”€ users/ Account-, Admin- und User-Verwaltung
β”œβ”€β”€ utils/ Utilities fΓΌr Datum, Session, Formate
routes/ Alle React Router Seiten
β”œβ”€β”€ admin/ Admin-Funktionen (z.β€―B. Accounts verwalten)
β”œβ”€β”€ auth/ SignIn/SignUp-Seiten, ProtectedRoute
β”œβ”€β”€ dashboard/ Willkommensseite
β”œβ”€β”€ meeting/ CRUD-Routen fΓΌr Meetings
β”œβ”€β”€ trip/ CRUD-Routen fΓΌr Trips
index.css / theme.css Globale Styles
main.jsx React Root-Initialisierung
router.jsx Definiert Client-seitige Routen
setupTests.js Testkonfiguration (nicht verwendet)

🧠 Zustand & Authentifizierung

  • AuthContext.jsx (nicht sichtbar): verwaltet Token und Login-Zustand global
  • Verwendung von useContext() zum Zugriff auf Auth-Status

🌐 API-Kommunikation

  • Via Axios in lib/ (z.β€―B. trips.js, meetings.js, accounts.js)
  • Endpunkte werden dynamisch mit Token versorgt

🎯 Besonderheiten

  • Formulare mit Validierung & Kontext-Feedback
  • JWT-Token in LocalStorage gespeichert
  • Logische Trennung von Admin- und User-Funktionen