# WWSK IMS

Desktop-firstes Dienstplan-, Wachbuch- und Verwaltungssystem für die Wasserwacht. Die angemeldete Oberfläche ist eine Vue-3-SPA über Inertia; Laravel liefert Authentifizierung, Organisationsberechtigungen, JSON/HTML-Fallbacks und die Datenbanklogik. Das Wachbuch ist für breite Stations-/Leitstellenbildschirme optimiert und wird unterhalb der Desktop-Breite in eine vollständige mobile Ansicht umgebrochen.

## Lokaler Test mit Docker Compose

```sh
cp .env.example .env
docker compose up --build
```

Danach:

- SPA: <http://localhost:8080>
- Mailpit: <http://localhost:8025>
- MySQL: `127.0.0.1:3307`, Datenbank/User `wwsk`, Passwort `wwsk-local`

Beim ersten Aufruf führt `/einrichtung` durch die Anlage der Organisation, des Systemadministrators und der Standardwache. Der Entrypoint migriert bei jedem lokalen Start; Quelldumps werden dabei nicht importiert.

Für einen isolierten Test-Stack:

```sh
docker compose -f docker-compose.test.yml up --build --abort-on-container-exit
```

## Entwicklung ohne Container

```sh
composer install
npm ci
php artisan key:generate
npm run build
php artisan migrate
php artisan serve
```

## Deployment

Ausgeliefert wird auf ein lima-city-Webhosting über GitHub Actions – siehe
[`docs/DEPLOYMENT.md`](docs/DEPLOYMENT.md).

Die Produktionsdateien liegen ausschließlich unter `public/`; private Anhänge bleiben auf dem lokalen Storage. Auf lima-city ruft ein Shell-Cron minütlich `artisan schedule:run` auf; `flock` verhindert parallele Läufe. Details in [`docs/DEPLOYMENT.md`](docs/DEPLOYMENT.md).
