TESS technisch

Technisch overzicht van TESS als platform: hoe het landschap is opgebouwd, welke hoofdmodules en integraties het systeem draagt, en waar de belangrijkste technische aandachtspunten liggen.

Technisch overzicht

TESS bestaat technisch uit deze hoofdlagen:

  • een centrale applicatielaag voor kandidaat, backoffice, leverancier en beheer
  • een backendlaag op Supabase voor authenticatie, data, storage, realtime en edge functions
  • operationele integraties voor mail, agenda, geocoding en managed-user flows
  • kernprocessen rond opdrachten, aanbiedingen, dossiers, compliance, contractering en uren

TESS draait in de huidige hoofdvorm zonder aparte traditionele businesslogic-server tussen applicatie en database. Een groot deel van de technische werking zit in de combinatie van frontend, Supabase en een kleine set gerichte integratiefuncties.

Technisch landschap

LaagHuidige inrichting
ApplicatieReact 18 + TypeScript + Vite
AuthenticatieSupabase sessies en rolgestuurde toegang
Autorisatierechten op basis van profielrollen en route-afscherming
Datadirecte datalaag via Supabase
Integratiesedge functions voor onder meer mail, agenda, geocoding en managed users
Storagedocument- en assetopslag, vooral voor compliance en profielen
Realtimechat en eventgedreven interactie
Mobiele richtingPWA / Capacitor-richting aanwezig, maar niet de primaire basis van de huidige hoofdflow

Hoofdmodules in TESS

Kandidaat

  • Dashboard
  • Master CV
  • Opdrachten
  • Mijn opdrachten
  • Opdracht-portaal
  • Profiel

Technisch draait hier vooral de self-service laag voor profielbeheer, reageren, opdrachttoegang en uitvoering.

Backoffice

  • Kandidatenoverzicht
  • Procedures / CRM-stroom
  • Dossieropbouw
  • Compliancecontrole
  • Contractgeneratie
  • Mailboxen, mailtemplates en integraties
  • Berichten
  • Agenda
  • Urencontrole

Dit is technisch het zwaartepunt van TESS: hier komen statuslogica, dossieropbouw, mailboxen, sjablonen, contractering en operationele controle samen.

Supplier

  • Professionalsoverzicht
  • Managed-user flow via edge function

Deze laag is kleiner, maar technisch relevant door de gebruikersaanmaak en de koppeling met externe professionals.

Admin

  • Admin shell
  • Instellingen
  • Sjablonen
  • Integraties
  • Mailbox- en agenda-koppelingen
  • Versiebeheer

Hier zit een groot deel van de technische beheerlogica voor sjablonen, mailboxen, integraties en operationele instellingen.

Actuele technische status per 2026-04-19

Deze status is gebaseerd op remote branch- en commitinspectie op 2026-04-19.

Stabiele basis

  • origin/main staat op een stabiele SPA + Supabase basis
  • De actuele frontendroutes gebruiken nog grotendeels UUID-/id-achtige params
  • De productiekern zit nu vooral in:
    • opdrachtenbeheer
    • aanbiedingstatussen
    • dossier- en complianceflow
    • contracttemplates
    • mailbox/mailautomatisering
    • timesheets

Actieve ontwikkellijnen

De recentste inhoudelijke branchactiviteit laat vier belangrijke sporen zien:

  1. Entity-id / canonical nr overgang

    • Op 2026-04-18 werd een gecoördineerde entity-id cutover gereleased en daarna weer teruggedraaid op main
    • Op 2026-04-19 lopen daar nog actieve vervolgcommits bovenop
    • Conclusie: dit onderwerp is technisch actief en niet afgerond
  2. Passkeys / WebAuthn

    • feat/passkey-auth voegt passkey edge functions en tabellen toe
    • Dit is technisch relevant voor auth, maar nog geen gegarandeerde main-baseline
  3. Realtime notificaties

    • feat/notify-center voegt een notif tabel en realtime hook toe
    • Ook dit is relevant, maar nog niet de veilige minimum-aanname voor main
  4. Flowlu synchronisatie

    • feat/flowlu-sync bevat aparte syncscripts voor Flowlu-documenten en mappings
    • Relevante techniek, maar niet het hele runtimepad van de huidige main-app

Belangrijke nuance

Gebruik bij TESS-documentatie dus deze regel:

  • main beschrijft de huidige runtimebasis
  • recente feature branches beschrijven de actuele technische richting

Niet omgekeerd.

Belangrijkste technische aandachtspunten

1. Documentatie en werkelijkheid lopen niet overal gelijk

Oudere TESS-documentatie noemde zaken die niet meer goed overeenkomen met de huidige technische inrichting. Bijvoorbeeld:

  • testscripts en teststack zitten sterker uitgewerkt op recente feature branches dan op huidige main
  • deploymentnotities spreken nog deels over Vercel, terwijl het landschap ook duidelijk Docker/nginx/Coolify-signalen bevat

2. Datamodel zit in overgang

De live entity-id documentatie in docs/ENTITY_ID_CURRENT_STATE.md laat zien dat de TESS-database in een overgang zit van UUID-georiënteerde referenties naar canonieke nr-referenties.

Dat is technisch belangrijk voor:

  • routeparams
  • queryfilters
  • joins
  • deep links
  • backoffice links tussen dossiers, aanbiedingen en opdrachtgevers

3. Instellingen zijn een technisch zwaartepunt

Veel technische inrichting zit niet in een losse beheerservice, maar direct in TESS zelf onder instellingen en beheerschermen:

  • dossiertemplates
  • contractsjablonen
  • DAS-systemen
  • mailtemplates
  • WhatsApp templates
  • mailboxen en agenda’s
  • integraties
  • versiebeheer

Startpunten

Bijdragen aan TESS

Lees bij technische bijdrage altijd eerst:

  • repo AGENTS.md
  • .agents/plans/
  • .agents/journal/

Belangrijke praktijkregel:

  • vertrouw niet blind op branchnamen
  • vertrouw niet blind op oude docs
  • controleer altijd de actuele technische inrichting en recente wijzigingslijn voor je een technisch document of implementatie wijzigt