config/config.php was gitignored and devs had to copy it from config/config.php.example on every fresh clone. Since the bootstrap config reads everything from .env via $envString() / $envInt() / $envBool() defaults, there is nothing developer-specific in the file — the cp step was dead ceremony. - Remove config/config.php from .gitignore and track it directly - Delete config/config.php.example - Drop the example-existence + per-doc reference checks from bin/docs-drift-check.sh; add a legacy-pattern check that flags any new mention of the removed example file - Update ConfigContractsTest to require config.php and forbid the example - Clean stale references in CLAUDE.md, README.md, six docs files, and the core-guardrails skill Same commit slims README down from 294 to 47 lines: one setup checklist (now 3 commands instead of 4), the seeded login table, the three quality-gate commands, and pointers to CLAUDE.md and docs/index.md for everything else. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
# CoreCore
|
|
|
|
Mandantenfaehige Admin-Anwendung auf 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: <http://localhost:8080> · phpMyAdmin: <http://localhost:8081>
|
|
|
|
> `APP_CRYPTO_KEY` aus `.env.example` nicht aendern — sonst lassen sich die geseeded Microsoft-SSO- und BC-Test-Secrets nicht entschluesseln.
|
|
|
|
### 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 fuer 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/<id>/` (eigene Migrationen unter `modules/<id>/migrations/`)
|
|
|
|
## Lizenz
|
|
|
|
MIT (siehe `LICENSE.md`)
|