Geen omschrijving
  • HTML 95.2%
  • Dockerfile 3%
  • Shell 1.8%
Zoek een bestand
Jesse van Mullem c3f465c339 Memoriaal-huisstijl: zwart/rood/logo — exact naar goedgekeurde mockups
- brand indigo → Memoriaal-rood (#A81815, hover #911512)
- Inter → systeemfont; theme-color + favicon zwart/rood
- login + verify: witte kaart met zwart logopaneel (echt logo-PNG),
  rode knoppen, code-veld met rode rand, slogan onderin
- ingelogde header: zwart met logo + klantnaam, rode slogan-balk,
  nav-tabs met rood actief blok, 'Uploaden' → 'Aanleveren'
- cards/knoppen hoekig (3px), borders #e5e5e5
- img/logo_memoriaal_wit.png + logo_hexagon_wit.png toegevoegd
2026-07-02 00:02:32 +02:00
src Memoriaal-huisstijl: zwart/rood/logo — exact naar goedgekeurde mockups 2026-07-02 00:02:32 +02:00
.env.example Initial commit: klantportaal SPA (vanilla + Alpine + Tailwind CDN, Nginx serve) 2026-07-01 20:21:49 +02:00
.gitignore Initial commit: klantportaal SPA (vanilla + Alpine + Tailwind CDN, Nginx serve) 2026-07-01 20:21:49 +02:00
Dockerfile Fix healthcheck: install curl + gebruik 127.0.0.1 ipv localhost 2026-07-01 20:30:04 +02:00
entrypoint.sh Fix: inline JS in index.html + window.portaal expliciet globaal 2026-07-01 20:38:35 +02:00
nginx.conf Fix CSP: sta cdn.tailwindcss.com toe voor Tailwind JIT 2026-07-01 20:33:52 +02:00
README.md Initial commit: klantportaal SPA (vanilla + Alpine + Tailwind CDN, Nginx serve) 2026-07-01 20:21:49 +02:00

Memoriaal — Klantportaal

Externe SPA voor klanten van Memoriaal Administratiebureau & Belastingadviseurs. Communiceert alleen via HTTPS/JSON met de DMS-backend (/portaal-api/v1/...). Geen eigen database, geen server-side render — puur statische bestanden geserveerd door Nginx.

Deploy op Coolify

  1. Maak een nieuw project aan in Coolify → New ResourcePublic / Private Git Repository.
  2. Repo-URL: https://code.securityasaservice.org/jemasupport/memoriaal-klantportaal.git
  3. Build pack: Dockerfile
  4. Port exposed: 80
  5. Environment variables:
    API_BASE_URL=https://testdms.memoriaal.com/portaal-api/v1
    
  6. Domains: klant.memoriaal.com (Traefik regelt TLS + Let's Encrypt).
  7. Bij eerste deploy: DMS-kant moet PORTAAL_URL=https://klant.memoriaal.com krijgen in Coolify-env → CORS-headers gaan dan automatisch open.

Lokale test

docker build -t klantportaal .
docker run --rm -p 8080:80 \
  -e API_BASE_URL=https://testdms.memoriaal.com/portaal-api/v1 \
  klantportaal
# open http://localhost:8080

Bouwlogica

  • index.html is de shell. Alpine.js + Tailwind via CDN — geen build-step.
  • app.js bevat alle logica in één file, met per-view rendering.
  • entrypoint.sh vervangt ${API_BASE_URL} in app.js op container-start, zodat je één image kunt bouwen voor test + productie.
  • Session-token gaat in localStorage; wordt bij verlopen automatisch uitgelogd.

Beveiliging

  • Nginx-config zet strikte security headers (CSP, X-Frame-Options, Referrer-Policy).
  • Geen server-side executie — puur file-serving; aanval-oppervlak is de DMS-API zelf.
  • Sessies verlopen na 12 uur. Klant-users worden per-klant beheerd in DMS (/admin/klantportaal/klantuser/).