{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://codeflow.dananglin.me.uk/apollo/spruce/raw/branch/main/schema/cv.schema.json", "title": "CV", "description": "A short written summary of your skills, achievements and experiences in relation to your role.", "type": "object", "properties": { "firstName": { "description": "Your first name(s).", "type": "string" }, "lastName": { "description": "Your last name.", "type": "string" }, "jobTitle": { "description": "Your current job title.", "type": "string" }, "contact": { "additionalProperties": { "type": "string" }, "description": "Your contact information. You can use any key/value pairs here.", "type": "object" }, "links": { "additionalProperties": { "type": "string" }, "description": "URLs to your online presence such as GitHub or your website. You can use any key/value pairs here.", "type": "object" }, "summary": { "description": "A list of sentences summarising your skills, experiences and what you'd like to achieve in the near future.", "items": { "type": "string" }, "type": "array" }, "skills": { "description": "A categorised list of your skills.", "items": { "$ref": "#/$defs/skills" }, "type": "array" }, "employment": { "description": "A list of your employment history.", "items": { "$ref": "#/$defs/employment" }, "type": "array" }, "education": { "description": "A list of your education experiences.", "items": { "$ref": "#/$defs/education" }, "type": "array" }, "interests": { "description": "A list of sentences summarising your interests and hobbies.", "items": { "type": "string" }, "type": "array" } }, "required": [ "firstName", "lastName", "jobTitle", "summary", "skills", "employment", "education", "interests" ], "additionalProperties": false, "$defs": { "skills": { "properties": { "category": { "description": "The skills category.", "type": "string" }, "values": { "items": { "type": "string" }, "description": "The skills listed in this category.", "type": "array" } }, "required": [ "category", "values" ], "additionalProperties": false, "type": "object" }, "employment": { "properties": { "company": { "description": "The company where your work experience took place.", "type": "string" }, "duration": { "description": "The duration of the experience.", "$ref": "#/$defs/duration" }, "jobTitle": { "description": "The job title of your experience.", "type": "string" }, "location": { "description": "The location where the experience was based.", "type": "string" }, "locationType": { "description": "The location type of your work experience (e.g. Remote, Hybrid, On-site).", "type": "string" }, "details": { "description": "Further details of the experience (e.g. achievements, daily responsibilities, etc).", "items": { "type": "string" }, "type": "array" } }, "required": [ "company", "duration", "jobTitle", "location" ], "additionalProperties": false, "type": "object" }, "education": { "properties": { "qualification": { "description": "The qualifications gained from this educational experience.", "type": "string" }, "school": { "description": "The school or university where you have studied.", "type": "string" }, "location": { "description": "The location where the experience was based.", "type": "string" }, "duration": { "description": "The duration of the experience.", "$ref": "#/$defs/duration" }, "details": { "description": "Further details of the experience.", "items": { "type": "string" }, "type": "array" } }, "required": [ "qualification", "school", "location", "duration" ], "additionalProperties": false, "type": "object" }, "duration": { "properties": { "start": { "description": "The start date of the experience.", "$ref": "#/$defs/date" }, "end": { "description": "The end date of the experience.", "$ref": "#/$defs/date" }, "present": { "description": "Specifies whether you are currently employed or studying at the specified company or educational institute.", "type": "boolean" } }, "additionalProperties": false, "required": [ "start" ], "type": "object" }, "date": { "properties": { "year": { "description": "The year (e.g. 2023).", "type": "integer" }, "month": { "description": "The numerical value of the month (e.g. 5 for May).", "minimum": 1, "maximum": 12, "type": "integer" }, "day": { "description": "The day of the month.", "minimum": 1, "maximum": 31, "type": "integer" } }, "additionalProperties": false, "required": [ "year", "month", "day" ], "type": "object" } } }