Modèles de données

Modèles de données principaux et relations dans la plateforme WXRK.

Vue d'ensemble des relations

Utilisateur (Auth)
  └── CandidateProfile
        ├── MBTIProfile
        ├── TechnicalReview
        │     └── Experience
        │           ├── Project
        │           └── STARStory
        └── Application
              ├── CVArtifact
              └── CoverLetterArtifact

CandidateProfile

L'entité centrale pour toutes les données candidat.

ChampTypeDescription
userFK → UserLien auth un-à-un
full_namestringNom d'affichage
emailstringEmail de contact
phonestringNuméro de téléphone optionnel
locationstringVille / pays
linkedin_urlURLLien profil LinkedIn
github_urlURLLien profil GitHub
years_experienceintAnnées d'expérience professionnelle
summarytextRésumé professionnel
profile_photofileJPG/PNG/WebP, max 5 Mo

MBTIProfile

ChampTypeDescription
candidateFK → CandidateProfilePropriétaire
mbti_typeenumUn des 16 types MBTI
ie_scoreintPourcentage Introverti/Extraverti
ns_scoreintPourcentage Intuitif/Sensitif
tf_scoreintPourcentage Pensée/Sentiment
jp_scoreintPourcentage Jugement/Perception
manually_overriddenboolVrai si type défini directement par l'utilisateur

Experience

ChampTypeDescription
candidateFK → CandidateProfilePropriétaire
company_namestringNom de l'employeur
job_titlestringIntitulé du poste
start_datedateMois/année de début
end_datedateMois/année de fin (null = actuel)
summarytextRésumé narratif
skillsM2M → SkillCompétences étiquetées

Project

ChampTypeDescription
experienceFK → ExperienceExpérience parente
namestringNom du projet
descriptiontextCe qui a été construit
impact_metricstringRésultat quantifié

STARStory

ChampTypeDescription
experienceFK → ExperienceExpérience parente
situationtextContexte du défi
tasktextCe qui a été assigné
actiontextÉtapes prises
resulttextRésultat quantifié
tagsM2M → STARTagCatégories (leadership, livraison, etc.)

Application

ChampTypeDescription
candidateFK → CandidateProfilePropriétaire
job_descriptiontextTexte complet de la fiche de poste
job_urlURLURL source optionnelle
statusenumbrouillon / généré / soumis / entretien / offre / rejeté
fit_scoreintScore de compatibilité 0-100

Artefact

Base commune pour les documents générés. CVArtifact et CoverLetterArtifact héritent tous deux de ce modèle de base.

ChampTypeDescription
applicationFK → ApplicationCandidature parente
contenttextTexte du document généré
word_countintNombre de mots calculé
pdf_filefilePDF généré
versionintNuméro de version incrémental