Files
BauIN/README.md
T
ChristophandClaude Opus 5.5 dedce594a0 Projektgrundlage: Laravel 13 mit Livewire-Starter-Kit und Sail
- Livewire-Starter-Kit (Livewire 4, Flux, Fortify) mit Pest
- Sail mit PHP 8.5, MySQL 8.4, Redis, Meilisearch 1.54.2, Mailpit
- Registrierung deaktiviert, 2FA und Passkeys verfügbar
- Spatie laravel-permission
- gitleaks als Pre-Commit-Hook (.githooks)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 08:53:42 +02:00

51 lines
1.8 KiB
Markdown

# KI-BauIN
KI-gestützte Prüfung von Mehrkostenanzeigen und Nachträgen im Bahnbau.
Laravel 13 mit dem Livewire-Starter-Kit (Livewire 4, Flux, Fortify), Spatie laravel-permission,
Pest. Entwicklung mit Laravel Sail: PHP 8.5, MySQL 8.4, Redis, Meilisearch, Mailpit.
## Einrichten
Voraussetzungen: Linux bzw. WSL2 mit Docker, PHP ≥ 8.3 und Composer (nur für den ersten
`composer install`), Node, [gitleaks](https://github.com/gitleaks/gitleaks).
Unter WSL2 das Projekt im Linux-Dateisystem ablegen (z. B. `~/code`), nicht unter `/mnt/c`.
```bash
cp .env.example .env
composer install
./vendor/bin/sail up -d
./vendor/bin/sail artisan key:generate
./vendor/bin/sail artisan migrate
npm install && npm run dev
git config core.hooksPath .githooks # gitleaks vor jedem Commit
```
| Dienst | Adresse |
|---|---|
| Anwendung | http://localhost:8080 |
| Mailpit (E-Mails) | http://localhost:8025 |
| Meilisearch | http://localhost:7700 |
| MySQL | localhost:3307 (Benutzer `sail`, Passwort `password`) |
Die Ports 80 und 3306 sind auf dem Entwicklungsrechner belegt, daher `APP_PORT` und
`FORWARD_DB_PORT` in `.env`.
## Täglich
```bash
./vendor/bin/sail up -d # starten
./vendor/bin/sail artisan test # Tests
./vendor/bin/sail bin pint # Code-Stil
./vendor/bin/sail bin phpstan analyse # statische Analyse
./vendor/bin/sail composer require … # Pakete immer im Container installieren (PHP 8.5)
./vendor/bin/sail down # stoppen
```
## Festlegungen
- Keine Selbstregistrierung: Benutzer legt ein Administrator an.
- 2FA (Authenticator-App) und Passkeys sind verfügbar, 2FA ist noch nicht verpflichtend.
- Meilisearch: Version fest eingestellt, Telemetrie aus (`MEILISEARCH_NO_ANALYTICS=true`).
- Git: führend ist der lokale Gitea; der Gitea des Kunden folgt als Push-Mirror.