No description
  • PHP 64.5%
  • Blade 32.8%
  • JavaScript 1.3%
  • HTML 0.6%
  • CSS 0.5%
  • Other 0.3%
Find a file
Joel 4043b01a94
Some checks are pending
tests / ci (push) Waiting to run
Merge branch 'chore/juridisch-bunny'
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 22:16:13 +01:00
.ai/rules Chatgroep ontstaat direct bij het aanmaken van een evenement 2026-10-28 22:07:12 +01:00
.claude/skills Initial commit 2026-08-19 12:07:41 +02:00
.github Upgrade naar PHP 8.5, Node 26 en npm 12; README met .env-beheer op productie 2026-10-28 15:13:25 +01:00
app Privacybeleid en voorwaarden v3: database en bestanden bij Bunny.net, e-mail via Resend 2026-10-28 22:11:28 +01:00
bootstrap Security & docs 2026-10-28 18:53:44 +01:00
config Docs en bugfixes 2026-10-28 19:40:42 +01:00
database Merge branch 'fix/zorgplan-ux' 2026-10-28 21:40:44 +01:00
docker Security & docs 2026-10-28 18:53:44 +01:00
docs Privacybeleid en voorwaarden v3: database en bestanden bij Bunny.net, e-mail via Resend 2026-10-28 22:11:28 +01:00
lang UI/UX optimalisaties, ALTCHA, bunny.net implementaties, security & bugfixes 2026-10-28 12:22:22 +01:00
public UI/UX optimalisaties, ALTCHA, bunny.net implementaties, security & bugfixes 2026-10-28 12:22:22 +01:00
resources Merge branch 'fix/zorgplan-ux' 2026-10-28 21:40:44 +01:00
routes Docs en bugfixes 2026-10-28 19:40:42 +01:00
storage Style changes 2026-10-22 15:29:03 +02:00
tests Privacybeleid en voorwaarden v3: database en bestanden bij Bunny.net, e-mail via Resend 2026-10-28 22:11:28 +01:00
.dockerignore Kleine back-end wijzigingen en Docker deployment 2026-08-21 19:33:36 +02:00
.DS_Store Style changes 2026-10-22 15:29:03 +02:00
.editorconfig Initial commit 2026-08-19 12:07:41 +02:00
.env.docker.example Security & docs 2026-10-28 18:53:44 +01:00
.env.example UI/UX optimalisaties, ALTCHA, bunny.net implementaties, security & bugfixes 2026-10-28 12:22:22 +01:00
.gitattributes Initial commit 2026-08-19 12:07:41 +02:00
.gitignore Security & docs 2026-10-28 18:53:44 +01:00
.mcp.json Initial commit 2026-08-19 12:07:41 +02:00
.npmrc Initial commit 2026-08-19 12:07:41 +02:00
artisan Initial commit 2026-08-19 12:07:41 +02:00
boost.json Initial commit 2026-08-19 12:07:41 +02:00
CLAUDE.md WireChat met PWA en db data encryptie 2026-08-20 23:01:31 +02:00
composer.json Security & docs 2026-10-28 18:53:44 +01:00
composer.lock Security & docs 2026-10-28 18:53:44 +01:00
deploy.sh Deploy alleen vanaf een bijgewerkte main en leg de git-werkwijze vast 2026-10-28 13:30:17 +01:00
docker-compose.yml Chatberichten verschijnen weer live: worker leest de wachtrij messages 2026-10-28 21:54:16 +01:00
Dockerfile Security & docs 2026-10-28 18:53:44 +01:00
ontwerp-privacy-killswitch.md Uitbreiding system settings 2026-10-23 19:15:17 +02:00
package-lock.json Security & docs 2026-10-28 18:53:44 +01:00
package.json Security & docs 2026-10-28 18:53:44 +01:00
phpstan.neon Initial commit 2026-08-19 12:07:41 +02:00
phpunit.xml Security & docs 2026-10-28 18:53:44 +01:00
pint.json Initial commit 2026-08-19 12:07:41 +02:00
README.md Upgrade naar PHP 8.5, Node 26 en npm 12; README met .env-beheer op productie 2026-10-28 15:13:25 +01:00
vite.config.js Docs en bugfixes 2026-10-28 19:40:42 +01:00

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.

  1. Log in op de server en ga naar de stackmap.
  2. Maak een back-up voordat je iets wijzigt:
    cp .env .env.backup-$(date +%Y%m%d-%H%M%S)
    
  3. Pas de waarde aan met een editor (bijv. nano .env). Gebruik .env.docker.example in de repo als naslag. Daarin staan alle sleutels die productie nodig heeft, met uitleg.
  4. Laat de containers de nieuwe waarden inlezen. Een gewone restart is niet genoeg: de omgevingsvariabelen worden bij het aanmaken van een container ingelezen, en de entrypoint draait bij elke start config:cache. Maak de containers daarom opnieuw aan:
    docker compose up -d --force-recreate
    
  5. Controleer of alles weer draait:
    docker compose ps
    docker compose logs --tail=50 app migrate
    

Valkuilen

  • Schrijf elke waarde volledig uit. Compose geeft de .env als env_file letterlijk 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 (of docker compose build gevolgd door docker compose up -d op de server).
  • Wijzig APP_KEY nooit 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 draait config:cache met de standaardwaarden. Neem ze ook op in .env.docker.example, zodat de volgende beheerder ze kan vinden.
  • Zet geen geheimen in git. De echte .env hoort alleen op de server te staan.