109 lines
3.4 KiB
Markdown
109 lines
3.4 KiB
Markdown
# 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 <repository-url>
|
|
cd <projekt-ordner>/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 `<script>` und `<style>` Sektionen).
|
|
|
|
Weitere Informationen findest du in der [Livewire Dokumentation](https://livewire.laravel.com/docs) und der [Volt Dokumentation](https://livewire.laravel.com/docs/volt).
|
|
|
|
## Mitwirken
|
|
|
|
[Hier Richtlinien für Beiträge hinzufügen, falls gewünscht. Ähnlich wie im Haupt-README.]
|
|
|
|
## Lizenz
|