Data Models
Core data models and relationships in the WXRK platform.
User (Auth)
└── CandidateProfile
├── MBTIProfile
├── TechnicalReview
│ └── Experience
│ ├── Project
│ └── STARStory
└── Application
├── CVArtifact
└── CoverLetterArtifact
The central entity for all candidate data.
| Field | Type | Description |
|---|
user | FK → User | One-to-one auth link |
full_name | string | Display name |
email | string | Contact email |
phone | string | Optional phone number |
location | string | City / country |
linkedin_url | URL | LinkedIn profile link |
github_url | URL | GitHub profile link |
years_experience | int | Years of professional experience |
summary | text | Professional summary |
profile_photo | file | JPG/PNG/WebP, max 5 MB |
| Field | Type | Description |
|---|
candidate | FK → CandidateProfile | Owner |
mbti_type | enum | One of 16 MBTI types |
ie_score | int | Introvert/Extrovert percentage |
ns_score | int | Intuitive/Sensing percentage |
tf_score | int | Thinking/Feeling percentage |
jp_score | int | Judging/Perceiving percentage |
manually_overridden | bool | True if user set type directly |
| Field | Type | Description |
|---|
candidate | FK → CandidateProfile | Owner |
company_name | string | Employer name |
job_title | string | Role title |
start_date | date | Start month/year |
end_date | date | End month/year (null = current) |
company_description | text | Optional company context |
location | string | Optional office location |
summary | text | Narrative summary |
skills | M2M → Skill | Tagged skills |
created_at | datetime | Record creation timestamp |
updated_at | datetime | Last modification timestamp |
| Field | Type | Description |
|---|
experience | FK → Experience | Parent experience |
name | string | Project name |
description | text | What was built or done |
impact_metric | string | Quantified result |
tech_stack | M2M → Skill | Technologies used |
| Field | Type | Description |
|---|
experience | FK → Experience | Parent experience |
situation | text | Context for the challenge |
task | text | What was assigned |
action | text | Steps taken |
result | text | Quantified outcome |
tags | M2M → STARTag | Categories (leadership, delivery, etc.) |
| Field | Type | Description |
|---|
candidate | FK → CandidateProfile | Owner |
job_description | text | Full JD text |
job_url | URL | Optional source URL |
personal_context | text | User's interest notes |
status | enum | draft / generated / submitted / interview / offer / rejected |
fit_score | int | 0–100 compatibility score |
created_at | datetime | Creation timestamp |
Shared base for generated documents.
| Field | Type | Description |
|---|
application | FK → Application | Parent application |
content | text | Generated document text |
word_count | int | Computed word count |
pdf_file | file | Generated PDF |
version | int | Incrementing version number |
created_at | datetime | Generation timestamp |
CVArtifact and CoverLetterArtifact both extend this base model.