Import Candidates from JSON
Paste JSON data following the schema from docs/hr_recruitment_schema.json.
The JSON should contain a candidates array.
JSON Schema Reference
Copy this schema and use it with AI tools (ChatGPT, Claude, etc.) to generate candidate data.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "HR Recruitment Test Dataset Schema",
"description": "Schema for IT candidate CVs with work experiences and projects for automated HR recruitment system testing",
"type": "object",
"required": ["candidates"],
"properties": {
"candidates": {
"type": "array",
"items": {
"$ref": "#/definitions/Candidate"
}
},
"metadata": {
"type": "object",
"properties": {
"version": { "type": "string" },
"generated_date": { "type": "string", "format": "date" },
"total_candidates": { "type": "integer" },
"schema_notes": { "type": "object" }
}
}
},
"definitions": {
"Candidate": {
"type": "object",
"required": ["candidate_id", "personal", "profiles", "education", "work_experiences", "skills"],
"properties": {
"candidate_id": {
"type": "string",
"pattern": "^C[0-9]{3}$",
"description": "Unique candidate identifier (e.g., C001)"
},
"personal": {
"type": "object",
"required": ["full_name", "email", "location"],
"properties": {
"full_name": { "type": "string" },
"email": { "type": "string", "format": "email" },
"phone": { "type": "string" },
"location": {
"type": "string",
"description": "City, Country format"
}
}
},
"profiles": {
"type": "object",
"required": ["linkedin_username", "github_username", "leetcode_username"],
"properties": {
"linkedin_username": { "type": "string" },
"github_username": { "type": "string" },
"leetcode_username": { "type": "string" },
"portfolio_url": {
"type": ["string", "null"],
"format": "uri"
}
}
},
"education": {
"type": "object",
"required": ["highest_degree", "field_of_study", "university", "graduation_year"],
"properties": {
"highest_degree": {
"type": "string",
"enum": ["PhD", "Masters", "Bachelors", "Diploma", "Associate"]
},
"field_of_study": { "type": "string" },
"university": { "type": "string" },
"graduation_year": {
"type": "integer",
"minimum": 1990,
"maximum": 2030
},
"gpa": {
"type": "number",
"minimum": 0,
"maximum": 4.0,
"description": "GPA on 4.0 scale"
}
}
},
"work_experiences": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/WorkExperience"
},
"description": "Ordered from most recent to oldest"
},
"projects": {
"type": "array",
"items": {
"$ref": "#/definitions/Project"
}
},
"skills": {
"type": "object",
"properties": {
"programming_languages": {
"type": "array",
"items": { "type": "string" }
},
"frameworks": {
"type": "array",
"items": { "type": "string" }
},
"databases": {
"type": "array",
"items": { "type": "string" }
},
"cloud_platforms": {
"type": "array",
"items": { "type": "string" }
},
"tools": {
"type": "array",
"items": { "type": "string" }
}
},
"description": "All skills must appear in at least one work_experience or project"
},
"certifications": {
"type": "array",
"items": { "type": "string" }
},
"preferences": {
"type": "object",
"properties": {
"desired_role": { "type": "string" },
"expected_salary_usd": {
"type": "integer",
"minimum": 0,
"description": "Annual salary in USD"
},
"willing_to_relocate": { "type": "boolean" },
"preferred_work_mode": {
"type": "string",
"enum": ["Remote", "Hybrid", "Onsite"]
}
}
},
"summary": {
"type": "string",
"maxLength": 500,
"description": "Brief professional summary"
}
}
},
"WorkExperience": {
"type": "object",
"required": ["company", "role", "start_date", "end_date", "duration_months", "technologies"],
"properties": {
"company": { "type": "string" },
"role": { "type": "string" },
"start_date": {
"type": "string",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$",
"description": "YYYY-MM format"
},
"end_date": {
"type": "string",
"description": "YYYY-MM format or 'present'"
},
"duration_months": {
"type": "integer",
"minimum": 1,
"description": "Duration in months - use for skill experience calculation"
},
"technologies": {
"type": "array",
"items": { "type": "string" },
"minItems": 1,
"description": "Technologies used in this role - sum durations where tech appears"
},
"description": { "type": "string" }
}
},
"Project": {
"type": "object",
"required": ["name", "type", "technologies", "duration_months"],
"properties": {
"name": { "type": "string" },
"type": {
"type": "string",
"enum": ["personal", "open-source", "freelance", "academic", "hackathon"]
},
"technologies": {
"type": "array",
"items": { "type": "string" },
"minItems": 1
},
"start_date": {
"type": "string",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$"
},
"end_date": {
"type": "string",
"pattern": "^[0-9]{4}-(0[1-9]|1[0-2])$"
},
"duration_months": {
"type": "integer",
"minimum": 1
},
"github_url": {
"type": ["string", "null"],
"format": "uri"
},
"description": { "type": "string" }
}
}
}
}