# Thats me Backend Dies ist das Backend für die "Thats me"-Anwendung, basierend auf dem Laravel Framework. ## Technologie-Stack - [Laravel](https://laravel.com/) (v12) - [Livewire](https://livewire.laravel.com/) - [Volt](https://livewire.laravel.com/docs/volt) - [Vite](https://vitejs.dev/) (für Frontend-Asset-Kompilierung) - [PHP](https://www.php.net/) (Version entsprechend den Laravel 12 Anforderungen, z.B. >= 8.2) - [Composer](https://getcomposer.org/) (für PHP-Abhängigkeitsmanagement) - [Node.js & NPM/Yarn](https://nodejs.org/) (für Vite/Frontend-Build-Prozess) - [Flux] (https://fluxui.dev) (Componenten für das Backend) ## Installation 1. **Repository klonen** (falls noch nicht im Hauptprojekt geschehen): ```bash git clone cd /backend # Oder der entsprechende Pfad zum Backend ``` 2. **PHP Abhängigkeiten installieren:** ```bash composer install ``` 3. **Konfigurationsdatei erstellen:** Kopiere die Beispiel-Umgebungsvariablendatei: ```bash cp .env.example .env ``` \_Hinweis: Bearbeite die `.env`-Datei und konfiguriere insbesondere die Datenbankverbindung (`DB\__`) und die `APP_URL`.\* 4. **Anwendungsschlüssel generieren:** ```bash php artisan key:generate ``` 5. **Datenbankmigrationen ausführen:** Stelle sicher, dass deine Datenbank konfiguriert ist (siehe Schritt 3). ```bash php artisan migrate ``` _Optional: Wenn du Seed-Daten hast:_ ```bash php artisan db:seed # Optional ``` 6. **Frontend Assets installieren und bauen:** ```bash npm install # oder yarn install npm run build # Baut die Assets für die Produktion ``` ## Entwicklung **Entwicklungsserver starten:** Um den lokalen Laravel-Entwicklungsserver zu starten (normalerweise auf `http://127.0.0.1:8000`): ```bash php artisan serve #oder laravel herd (https://herd.laravel.com) #oder alternative PHP / MYSQL Serverumgebung (MAMP etc.) ``` **Frontend Assets mit Vite:** Um den Vite-Server für Hot Module Replacement (HMR) während der Frontend-Entwicklung (innerhalb von Laravel/Blade/Livewire) zu starten: ```bash npm run dev # oder yarn dev ``` Die Konfiguration für Vite (wie z.B. die Eingabedateien für CSS/JS und die Verwendung des Laravel-Plugins) wird in der Datei `vite.config.js` im Stammverzeichnis des Backends festgelegt. Diese Datei ist entscheidend dafür, wie Vite die Assets für die Laravel-Anwendung verarbeitet und bündelt. _Hinweis: Der Vite-Server läuft normalerweise auf einem anderen Port (z.B. 5173) und arbeitet mit `php artisan serve` zusammen._ ## Testing Um die PHPUnit-Tests auszuführen: ```bash php artisan test ``` ## Livewire & Volt Dieses Projekt nutzt Livewire und Volt für interaktive Frontend-Komponenten direkt im Backend-Code. Komponenten findest du typischerweise in: - **Livewire:** `app/Livewire/` oder `app/Http/Livewire/` (je nach Konfiguration) - **Volt:** Oft als Single-File-Komponenten direkt in den `resources/views/livewire/` oder `resources/views/components/` Verzeichnissen (als `.blade.php` Dateien mit `