Modèles de données
Modèles de données principaux et relations dans la plateforme WXRK.
Utilisateur (Auth)
└── CandidateProfile
├── MBTIProfile
├── TechnicalReview
│ └── Experience
│ ├── Project
│ └── STARStory
└── Application
├── CVArtifact
└── CoverLetterArtifact
L'entité centrale pour toutes les données candidat.
| Champ | Type | Description |
|---|
user | FK → User | Lien auth un-à-un |
full_name | string | Nom d'affichage |
email | string | Email de contact |
phone | string | Numéro de téléphone optionnel |
location | string | Ville / pays |
linkedin_url | URL | Lien profil LinkedIn |
github_url | URL | Lien profil GitHub |
years_experience | int | Années d'expérience professionnelle |
summary | text | Résumé professionnel |
profile_photo | file | JPG/PNG/WebP, max 5 Mo |
| Champ | Type | Description |
|---|
candidate | FK → CandidateProfile | Propriétaire |
mbti_type | enum | Un des 16 types MBTI |
ie_score | int | Pourcentage Introverti/Extraverti |
ns_score | int | Pourcentage Intuitif/Sensitif |
tf_score | int | Pourcentage Pensée/Sentiment |
jp_score | int | Pourcentage Jugement/Perception |
manually_overridden | bool | Vrai si type défini directement par l'utilisateur |
| Champ | Type | Description |
|---|
candidate | FK → CandidateProfile | Propriétaire |
company_name | string | Nom de l'employeur |
job_title | string | Intitulé du poste |
start_date | date | Mois/année de début |
end_date | date | Mois/année de fin (null = actuel) |
summary | text | Résumé narratif |
skills | M2M → Skill | Compétences étiquetées |
| Champ | Type | Description |
|---|
experience | FK → Experience | Expérience parente |
name | string | Nom du projet |
description | text | Ce qui a été construit |
impact_metric | string | Résultat quantifié |
| Champ | Type | Description |
|---|
experience | FK → Experience | Expérience parente |
situation | text | Contexte du défi |
task | text | Ce qui a été assigné |
action | text | Étapes prises |
result | text | Résultat quantifié |
tags | M2M → STARTag | Catégories (leadership, livraison, etc.) |
| Champ | Type | Description |
|---|
candidate | FK → CandidateProfile | Propriétaire |
job_description | text | Texte complet de la fiche de poste |
job_url | URL | URL source optionnelle |
status | enum | brouillon / généré / soumis / entretien / offre / rejeté |
fit_score | int | Score de compatibilité 0-100 |
Base commune pour les documents générés. CVArtifact et CoverLetterArtifact héritent tous deux de ce modèle de base.
| Champ | Type | Description |
|---|
application | FK → Application | Candidature parente |
content | text | Texte du document généré |
word_count | int | Nombre de mots calculé |
pdf_file | file | PDF généré |
version | int | Numéro de version incrémental |