# The Shire Anwendung auf Basis von MintyPHP (PHP 8.5, MariaDB 11, Nginx, Memcached, Docker). Liefert Tenants, User, Rollen, Adressbuch, Mail, Scheduler, Microsoft SSO und ein Helpdesk-Modul mit Business-Central-Anbindung. ## Setup (frischer Clone) ```bash cp .env.example .env # 1. ENV (enthaelt APP_CRYPTO_KEY fuer Test-Secrets) docker compose up --build -d # 2. Container starten + init.sql einspielen docker compose exec php php bin/console module:sync # 3. Modul-Migrationen + Asset-Publish ``` App: · phpMyAdmin: > `APP_CRYPTO_KEY` aus `.env.example` nicht ändern — sonst lassen sich die geseeded Microsoft-SSO- und BC-Test-Secrets nicht entschlüsseln. ### Login Alle Demo-User haben das Passwort `Demo123`: | E-Mail | Rolle | |---|---| | `demo@user.com` | Admin | | `max@user.com` | Manager | | `bernd@user.com` | User | | `petra@user.com` | Auditor | | `hilde@user.com` | Support | Plus der Live-User `fs@breadcrumb-solutions.de` (alle Rollen, Passwort nur per Reset). Microsoft SSO ist für den Tenant `breadcrumb mediasolutions GmbH` vorkonfiguriert (Domain `breadcrumb-solutions.de`). ## Quality Gates ```bash docker compose exec php vendor/bin/phpunit # Tests docker compose exec php vendor/bin/phpstan analyse -c phpstan.neon # Static Analysis docker compose exec php composer cs:fix # Code Style autofix ``` ## Wo was steht - **Architektur, Konventionen, Guards** — `CLAUDE.md` - **Tutorials, How-Tos, Referenzen** — `docs/index.md` - **Production-Deployment** — `docs/howto-docker-produktiv.md` - **Schema + Seed** — `db/init/init.sql`, idempotente Updates in `db/updates/` - **Module** — `modules//` (eigene Migrationen unter `modules//migrations/`)