CreatiCV – Technische Architectuur en Systeemontwerp
CreatiCV is een meertalig carrièreplatform gebouwd op .NET 8. Vanaf de ontwerpfase is het systeem opgezet volgens een SaaS-architectuurbenadering. Het doel is niet alleen een CV-tool te bieden, maar een schaalbaar en evolueerbaar professioneel en recruitment-technologieplatform te ontwikkelen.
Dit document beschrijft de huidige productie-architectuur, kernmodules en toekomstige ontwikkelrichting.
1. Infrastructuurlaag
Productieomgeving
- Ubuntu Server
- Nginx (reverse proxy)
- MariaDB / MySQL
- HTTPS (Let’s Encrypt)
- Cloudflare beveiligingslaag
- Eén VPS met meerdere projecten
CreatiCV draait samen met andere projecten op één VPS, waarbij Nginx de domeinscheiding en reverse proxy verzorgt.
Architectuurkenmerken
- Single-node deployment
- Stateless applicatieontwerp
- Gecentraliseerd databeheer
- Ontworpen voor horizontale schaalbaarheid
- Gecentraliseerd beheer en resource-optimalisatie
Geplande infrastructuuruitbreiding
- Integratie van Redis caching (query- en sessiecaching)
- API-scheiding (aparte REST-services)
- Frontend/backend scheiding
- Multi-instance deployment
- Enterprise API-integratie
De huidige architectuur is voorbereid op API- en mobiele uitbreiding.
2. Applicatiearchitectuur
Technologie-stack
- .NET 8
- ASP.NET Core Razor Pages
- Entity Framework Core
- Pomelo MySQL Provider
- Playwright (document rendering)
Gelaagde architectuur:
- Presentation Layer
- Service Layer
- Data Layer
- Infrastructure Layer (Betaling / AI / Lokalisatie / Logging / Security)
Dit garandeert:
- Scheiding van verantwoordelijkheden
- Vervangbare AI- en betaalintegraties
- Onafhankelijke evolutie van de securitylaag
- Voorbereiding op microservices-architectuur
3. Data-architectuur
De database volgt een genormaliseerd en modulair ontwerp.
Belangrijke modules:
- Users
- UserSubscriptions
- PayTransactions
- SystemLogs
- InviteCodes
- UserRewards
- JobListings
- InterviewSessions
- LocalizationResources
- CV / Sollicitatiebrief modellen
- FwRules (Firewallregels)
- FwRequestLog (Aanvallogs)
- FwBlockedIps (Geblokkeerde IP’s)
Ontwerpprincipes
- Duidelijke modulaire scheiding
- Logische enterprise-isolatie
- Gestructureerde AI-outputopslag
- Auditbare beveiligingslogging
- Voorbereid op toekomstige data-analyse
4. Document Rendering Engine
CreatiCV gebruikt een eigen A4-renderingsysteem.
Belangrijke componenten:
- FlowPager paginatie-engine
- Millimeterprecisie (210mm × 297mm)
- Multi-template systeem
- RTL-ondersteuning
- Playwright headless browser PDF-export
Dit garandeert:
- Identieke browserpreview en PDF-uitvoer
- Volledige layoutcontrole
- Geen afhankelijkheid van laagwaardige conversielibraries
5. Internationalisatie
Het systeem ondersteunt 20+ talen, inclusief RTL-talen.
Implementatie via:
- .resx lokalisatiesysteem
- Databasegestuurde resources
- Richtingsbeheer per template
- Culturele layout-aanpassing
Het systeem past niet alleen tekst aan, maar ook:
- Regionale CV-standaarden
- Culturele formatteringsverschillen
- Leesrichting
6. Job Module Architectuur
CreatiCV bevat een gestructureerd vacaturesysteem.
Functionaliteiten:
- Vacaturepublicatie
- Categorie- en filtermogelijkheden
- Databasepersistente opslag
- CV-matchlogica
- Uitbreidbare notificatiemechanismen
Het datamodel ondersteunt enterprise-publicatie en toekomstige API-integratie.
7. AI Interview Architectuur
Het AI-interviewsysteem is een van de kernonderscheidende modules.
Individueel Interviewproces
- Aanmaken van een interviewsessie
- Genereren van functie-specifieke vragen
- Antwoord van kandidaat (tekst of spraak)
- AI-evaluatie
- Genereren van gestructureerd rapport
Alle resultaten worden gestructureerd opgeslagen voor verdere analyse.
Enterprise Batch Interview Systeem
Bedrijven en recruitmentbureaus kunnen AI-interviews op schaal inzetten:
- Functie-specifieke templates
- Bulk uitnodigingen
- Gelijktijdige interviews (honderden kandidaten)
- Automatisch gegenereerde rapporten
- Vergelijkende scoreanalyse
Technische kenmerken:
- Onafhankelijke sessiearchitectuur
- Asynchrone verwerking
- Automatische rapportgeneratie
- Voorbereid op optimalisatie via caching of queues
8. Enterprise & Recruitment Module (B2B)
Ondersteunt:
- Bedrijfsaccounts
- Kandidatenbeheer
- Messaging-systeem
- Offertemodule
- Logische data-isolatie
Architectuur ondersteunt multi-tenant scheiding en API-integratie.
9. Education Module
Bevat:
- Schoolaanvraagproces
- Administratieve goedkeuring
- Studentvalidatie
- Gratis toegangsbeheer
- Tijdgebonden abonnementslogica
10. Payment Architectuur
- Mollie API-integratie
- Abonnementen en eenmalige betalingen
- Webhook-validatie
- Automatische abonnementscreatie
- Gestructureerde logging
Ontworpen voor uitbreidbaarheid, inclusief mogelijke crypto-integratie.
11. Incentive & Referral Architectuur
Bevat een gestructureerde incentive-engine en referral-trackingmodule.
Functioneert als Growth-Oriented Business Logic Layer en werkt samen met het abonnements- en betalingssysteem.
12. Security Architectuur
Naast standaard beveiligingsmaatregelen implementeert CreatiCV een applicatielaag-firewall.
Applicatielaag Firewall (ASP.NET Core Middleware)
- Detecteert kwaadaardige scanpaden (zoals /.env, /wp-admin, /admin)
- Regelgebaseerde Log- of Block-acties
- Ondersteunt Contains / StartsWith / EndsWith matching
- Scoregebaseerd blokkeringmechanisme
Aanvallogging
Wanneer een regel wordt geactiveerd:
- Opslag in FwRequestLog
- IP, pad, methode en user agent worden geregistreerd
- Bijbehorende regel en actie worden opgeslagen
- Score wordt geregistreerd
- GeoIP-landinformatie wordt opgeslagen
Alleen requests die regels triggeren worden gelogd.
IP-blokkeringsmechanisme
Dubbele blokkering:
Redis-gebaseerde tijdelijke blokkering
- Key: fw:block:{ip}
- TTL-gebaseerde automatische vrijgave
Database-gebaseerde blokkering
- FwBlockedIps tabel
- Auditbaar
- Ondersteunt administratieve deblokkering
- Opslag van reden en land
Scorevenster-mechanisme
- Redis key: fw:score:{ip}
- Score-accumulatie binnen configureerbaar tijdvenster
- Blokkering bij overschrijden van drempelwaarde
Configureerbaar als:
- Direct blokkeren
- Of cumulatieve blokkering
Gelaagde beveiliging
Beveiliging werkt op meerdere niveaus:
- Netwerklaag (Cloudflare)
- Reverse proxy-laag (Nginx)
- Applicatielaag-firewall
- Audit- en loglaag
Beveiliging heeft prioriteit naast functionaliteit.
13. Architecturale Positionering
CreatiCV vertegenwoordigt:
- Een single-node SaaS-architectuur
- Een evolueerbaar modulair platform
- AI-gedreven carrière-infrastructuur
- Ondersteuning voor B2C + B2B + educatie
- Applicatielaagbescherming en auditmogelijkheden
Toekomstige richting:
- API-scheiding
- Mobiele uitbreiding
- Enterprise SaaS-segmentatie
- Caching en concurrency-optimalisatie
- Multi-instance deployment
CreatiCV is geen eenvoudige CV-tool, maar een gestructureerd, uitbreidbaar en beveiligingsbewust professioneel technologieplatform, ontworpen voor langdurige evolutie.
Gallery