Files
rikx-beheer/CLAUDE.md
T
remco-vermeer 9f0bd87c40 Voeg Module 1 Projecten toe met project plan, Rikx calculatie en Rikx rondes
- Projectenpagina met pipeline (standaard) en tabelweergave, filters op
  status, Rikx Ronde en zoeken
- Projectpagina in stappen: Project plan (velden uit de Rikx-aanvraag) en
  Rikx calculatie achter een schuif, live berekend volgens de rekenmethode
- Rikx rondes beheren (label, Rikx waarde, Rikx prijs) en koppelen aan projecten
- Oranje Rikx-menubalk met menu per module, gedeeld door alle pagina's
- Oude offerte-tabellen opgeruimd: leeg wordt verwijderd, met data hernoemd
  naar legacy_*
- CLAUDE.md bijgewerkt naar de huidige stand

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 10:26:30 +02:00

4.2 KiB
Raw Blame History

rikx-beheer

Beheerportaal voor de Rikx-methodiek. Beheert de sociaal ondernemers (accounts in de ZRM-platformdatabase) en de projecten van Module 1 (Projects flow).

Pagina's

  • /tenants — sociaal ondernemers aanmaken, bewerken, verwijderen, auto-inlog (leest/schrijft de platformdatabase via lib/platform-db.ts)
  • /projecten — projecten als pipeline (standaard, kolom per status) of tabel (?weergave=tabel), met filter op status, Rikx Ronde en zoeken; /projecten/nieuw — project toevoegen (naam + status)
  • /rondes — Rikx rondes beheren (label, Rikx waarde, Rikx prijs); een project hoort optioneel bij één ronde (projects.ronde_id)
  • /projecten/[id] — projectpagina in stappen: 1 Project plan (velden en keuzelijsten gedefinieerd in lib/projectPlan.ts), 2 Rikx calculatie (alleen zichtbaar als de schuif aan staat, rikx_calculatie_aan). Uitkomsten worden live berekend met lib/rikxCalculatie.ts
  • Gedeelde kop met navigatie: app/AppHeader.tsx (oranje Rikx-balk, menu per module; items zonder pagina tonen "binnenkort")
  • Huisstijlkleuren als Tailwind-tokens in app/globals.css: rikx-orange, rikx-purple (actief menu-item), rikx-maroon (primaire knop). Statuskleuren in lib/projectStatus.ts
  • Conventie: server actions in actions.ts per map, geen API-routes (behalve app/api/auto-login)

Stack

  • Next.js 16 + TypeScript + Tailwind CSS
  • SQLite via node:sqlite (ingebouwd in Node 22, geen extra package)
  • HMAC-signed sessie-cookie auth (geen externe auth-provider)
  • Nodemailer voor email-notificaties

Lokaal draaien

npm install
cp .env.example .env.local
# Vul SESSION_SECRET in (.env.local) — minimaal 32 tekens willekeurig
mkdir -p data
npm run dev   # http://localhost:3000
# Lokaal de platformdatabase gebruiken: RIKX_PLATFORM_DB_PATH=./data/platform.db

Admin aanmaken

npm run create-admin maarten@rikx.nl wachtwoord "Maarten"

Database

  • Locatie lokaal: ./data/app.db
  • Locatie productie: /data/app.db (absoluut pad — Next.js standalone doet process.chdir bij start)
  • Schema: lib/db.ts — migraties draaien automatisch bij eerste verbinding
  • Tabellen: users, projects (name, status; statussen in lib/projectStatus.ts, standaard aanvraag; plus de velden uit de rekenmethode als kolommen; overige project plan-velden als JSON in project_plan), project_expert_scores (3 experts × 3 criteria, voorlopig handmatig), rikx_rondes (Rikx waarde en prijs per ronde; de calculatie haalt ze uit de ronde van het project, prijs standaard waarde / 10)
  • Rekenmethode: _doc/Rikx rekenmethode uitleg.xlsx, tabblad Uitleg. Afwijkingen van de sheet: N-score = ((werk×5)+skills)/6 (sheet mist haakjes), Bonus/Malus - = 0,9 en -- = 0,8 (sheet heeft typefouten)
  • De oude offerte-tabellen (clients, projects met client_id, quotes, quote_items) worden bij de migratie verwijderd als ze leeg zijn; met gegevens worden ze hernoemd naar legacy_*
  • Tweede database (alleen-platform): RIKX_PLATFORM_DB_PATH (standaard /rikx-platform-data/app.db) met accounts en users van het ZRM-platform

Infrastructuur (mx-platform.com)

Environment variables

Variabele Standaard Uitleg
SESSION_SECRET — HMAC-secret voor sessie-cookies — per omgeving uniek genereren
DB_PATH ./data/app.db In productie: /data/app.db (absoluut pad)
RIKX_PLATFORM_DB_PATH /rikx-platform-data/app.db Database van het ZRM-platform (sociaal ondernemers)
NODE_ENV development In productie: production
SMTP_HOST — SMTP server voor email-notificaties
SMTP_PORT 587 SMTP poort
SMTP_USER — SMTP gebruikersnaam
SMTP_PASS — SMTP wachtwoord
SMTP_FROM noreply@rikx.nl Afzenderadres

Auto-deploy

Gitea webhook → Coolify. Na elke push naar main automatisch live.

Collega's

Wijzigingen alleen via Git. Push naar main → automatisch live.