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
| Laag | Huidige inrichting |
|---|---|
| Applicatie | React 18 + TypeScript + Vite |
| Authenticatie | Supabase sessies en rolgestuurde toegang |
| Autorisatie | rechten op basis van profielrollen en route-afscherming |
| Data | directe datalaag via Supabase |
| Integraties | edge functions voor onder meer mail, agenda, geocoding en managed users |
| Storage | document- en assetopslag, vooral voor compliance en profielen |
| Realtime | chat en eventgedreven interactie |
| Mobiele richting | PWA / Capacitor-richting aanwezig, maar niet de primaire basis van de huidige hoofdflow |
Hoofdmodules in TESS
Kandidaat
DashboardMaster CVOpdrachtenMijn opdrachtenOpdracht-portaalProfiel
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/mainstaat 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:
-
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
- Op 2026-04-18 werd een gecoördineerde entity-id cutover gereleased en daarna weer teruggedraaid op
-
Passkeys / WebAuthn
feat/passkey-authvoegt passkey edge functions en tabellen toe- Dit is technisch relevant voor auth, maar nog geen gegarandeerde main-baseline
-
Realtime notificaties
feat/notify-centervoegt eennotiftabel en realtime hook toe- Ook dit is relevant, maar nog niet de veilige minimum-aanname voor main
-
Flowlu synchronisatie
feat/flowlu-syncbevat 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