No description
- PHP 64.5%
- Blade 32.8%
- JavaScript 1.3%
- HTML 0.6%
- CSS 0.5%
- Other 0.3%
|
Some checks are pending
tests / ci (push) Waiting to run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .ai/rules | ||
| .claude/skills | ||
| .github | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| docker | ||
| docs | ||
| lang | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .dockerignore | ||
| .DS_Store | ||
| .editorconfig | ||
| .env.docker.example | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .mcp.json | ||
| .npmrc | ||
| artisan | ||
| boost.json | ||
| CLAUDE.md | ||
| composer.json | ||
| composer.lock | ||
| deploy.sh | ||
| docker-compose.yml | ||
| Dockerfile | ||
| ontwerp-privacy-killswitch.md | ||
| package-lock.json | ||
| package.json | ||
| phpstan.neon | ||
| phpunit.xml | ||
| pint.json | ||
| README.md | ||
| vite.config.js | ||
MES Hulpverleningstool
Laravel-applicatie (Livewire, Flux, Reverb) voor het plannen en uitvoeren van evenementenhulpverlening.
Lokaal ontwikkelen
De app draait lokaal op Laravel Herd met sqlite.
composer setup # eenmalig: dependencies, .env, key, migraties, assets
composer run dev # reverb, serve, queue, pail en vite in één keer
composer test # pint, phpstan en Pest — draai dit vóór elke deploy
Deployen
Productie is een Docker Compose-stack op één server. Deployen gaat altijd vanaf een bijgewerkte main:
./deploy.sh # sync, image bouwen op de server, stack herstarten
./deploy.sh --no-build # alleen sync + herstart (nginx-/compose-wijzigingen)
Het script synct de werkmap (niet een git-revisie) en weigert bij ongecommitte wijzigingen. De one-shot migrate-service draait de migraties voordat de overige services starten.
De .env op productie aanpassen
De productie-.env staat op de server in de stackmap, naast docker-compose.yml. Die wordt nooit door deploy.sh overschreven of gesynct. Wijzigingen doe je daarom altijd met de hand, op de server zelf.
- Log in op de server en ga naar de stackmap.
- Maak een back-up voordat je iets wijzigt:
cp .env .env.backup-$(date +%Y%m%d-%H%M%S) - Pas de waarde aan met een editor (bijv.
nano .env). Gebruik.env.docker.examplein de repo als naslag. Daarin staan alle sleutels die productie nodig heeft, met uitleg. - Laat de containers de nieuwe waarden inlezen. Een gewone
restartis niet genoeg: de omgevingsvariabelen worden bij het aanmaken van een container ingelezen, en de entrypoint draait bij elke startconfig:cache. Maak de containers daarom opnieuw aan:docker compose up -d --force-recreate - Controleer of alles weer draait:
docker compose ps docker compose logs --tail=50 app migrate
Valkuilen
- Schrijf elke waarde volledig uit. Compose geeft de
.envalsenv_fileletterlijk door aan de containers, dus verwijzingen als"${APP_NAME}"worden niet uitgevouwen. VITE_*-variabelen vragen om een nieuwe build. Die worden bij het bouwen in de JavaScript-bundle gebakken. Na een wijziging is een herstart niet genoeg: draai./deploy.sh(ofdocker compose buildgevolgd doordocker compose up -dop de server).- Wijzig
APP_KEYnooit op een draaiende omgeving. Daarmee worden sessies ongeldig en zijn versleutelde gegevens (o.a. chatberichten en opgeslagen koppelingsgeheimen) niet meer te lezen. - Nieuwe sleutels uit een feature komen niet vanzelf op productie. Zet ze vóór of direct na de deploy in de server-
.env, anders draaitconfig:cachemet de standaardwaarden. Neem ze ook op in.env.docker.example, zodat de volgende beheerder ze kan vinden. - Zet geen geheimen in git. De echte
.envhoort alleen op de server te staan.