import {
schema,
definitions,
configSchema,
dataSchema,
aboutSchema,
awardsSchema,
educationSchema,
languagesSchema,
projectsSchema,
skillsSchema,
workSchema
} from '@jsume/schema'
You can also import the schemas in json format:
import schema from '@jsume/schema/schema.json'
import configSchema from '@jsume/schema/config.json'
import dataSchema from '@jsume/schema/data.json'
import aboutSchema from '@jsume/schema/data/about.json'
import awardsSchema from '@jsume/schema/data/awards.json'
import educationSchema from '@jsume/schema/data/education.json'
import languagesSchema from '@jsume/schema/data/languages.json'
import projectsSchema from '@jsume/schema/data/projects.json'
import skillsSchema from '@jsume/schema/data/skills.json'
import workSchema from '@jsume/schema/data/work.json'
Structure of the schema
jsume.json
├── config
└── data
├── en
│ └── ...
└── zh
├── about
│ ├── name
│ ├── label
│ ├── image
│ ├── email
│ ├── phone
│ ├── url
│ ├── summary
│ ├── location
│ └── profiles
├── work
│ ├── company
│ ├── positon
│ ├── website
│ ├── location
│ ├── startDate
│ ├── endDate
│ ├── summary
│ └── highlights
├── projects
│ ├── name
│ ├── summary
│ ├── description
│ ├── githubUrl
│ ├── website
│ └── keywords
├── education
│ ├── institution
│ ├── description
│ ├── area
│ ├── degree
│ ├── location
│ ├── startDate
│ ├── endDate
│ ├── activities
│ ├── gpa
│ └── courses
├── awards
│ ├── title
│ ├── summary
│ ├── description
│ ├── awarder
│ └── date
├── skills
│ ├── name
│ └── keywords
└── languages
├── language
└── fluency
WIP
The resume data, which is organized by language.
There are some special data types in the schema that you should be aware of at the beginning:
url
: Use JSON Schema'spattern
to validate a URL. The regex can be find in the source code.githubUrl
: The same asurl
, but with a stricter regex to validate a GitHub URL.email
: Use JSON Schema'sformat
to validate an email address. Read morelocation
: A location can be a string or an object. If it's a string, it should be a valid location name. If it's an object, it should have at least one of the following properties:city
: The city name.country
: The country name.
date
: A date must be an object with the following properties:year
: The year of the date.month
: The month of the date.day
(optional): The day of the date.
-
property type required desc e.g. name string
✅ Your name "John Doe"
label string
❌ Your label "Programmer"
image url
❌ URL to your profile image "https://picsum.photos/200"
email email
❌ Your email address "john@example.com"
phone string
❌ Phone number "(912) 555-4321"
url url
❌ URL to your website "https://johndoe.com"
summary string
❌ Write a short 2-3 sentence biography about yourself "A summary of John Doe…"
location location
❌ Your current location "United States"
,{"city": "New York", "country": "United States"}
profiles object
❌ Specify any number of social networks that you participate in {"network": "X/Twitter", "username": "john", "url": "https://x.com/john"}
Example
{ "name": "John Doe", "label": "Programmer", "image": "https://picsum.photos/200", "email": "john@example.com", "phone": "(912) 555-4321", "url": "https://johndoe.com", "summary": "A summary of John Doe...", "location": { "city": "New York", "country": "United States" }, "profiles": [ { "network": "X/Twitter", "username": "john", "url": "https://x.com/john" } ] }
-
List of your work experience.
property type required desc e.g. company string
✅ Company name "Company"
location location
❌ Where you worked or where the company is located "United States"
,{"city": "New York", "country": "United States"}
position string
✅ Your position at the company "Software Engineer"
website url
❌ URL to the company website "https://company.com"
startDate date
✅ Start date of your employment at the company {"year": 2023, "month": 1}
,{"year": 2023, "month": 1, "day": 1}
endDate fales
ordate
✅ End date of your employment at the company. If you are still working there, set this to false false
,{"year": 2023, "month": 1}
summary string
❌ Give an overview of your responsibilities at the company "A summary of the job"
highlights array
❌ Specify multiple accomplishments ["Highlight 1", "Highlight 2"]
Example
[{ "company": "Company", "location": "Remote", "position": "Software Engineer", "website": "https://company.com", "startDate": { "year": 2023, "month": 1 }, "endDate": false, "summary": "A summary of the job", "highlights": [ "Highlight 1", "Highlight 2" ] }]
-
List of your projects.
property type required desc e.g. name string
✅ Project name "Project"
website url
❌ Where you worked or where the company is located "United States"
,{"city": "New York", "country": "United States"}
githubUrl githubUrl
❌ URL to the project GitHub repository "https://github.com/johndoe/reponame"
startDate date
✅* Start date of your project {"year": 2023, "month": 1}
endDate fales
ordate
✅* End date of your project. If you are still working on it, set this to false false
,{"year": 2023, "month": 1}
summary string
❌ Give an overview of your project "A summary of the project"
highlights array
❌ Specify multiple accomplishments ["Highlight 1", "Highlight 2"]
startDate
andendDate
are dependent required fields. If you specifystartDate
, you must also specifyendDate
. If you specifyendDate
, you must also specifystartDate
.Example
[{ "name": "Project", "website": "https://project.com", "githubUrl": "https://github.com/johndoe/reponame", "startDate": { "year": 2023, "month": 1 }, "endDate": false, "summary": "A summary of the project", "highlights": [ "Highlight 1", "Highlight 2" ] }]
-
List of your education.
property type required desc e.g. institution string
✅ Institution name "University"
location location
❌ Where you studied or where the institution is located "United States"
,{"city": "New York", "country": "United States"}
area string
✅ Your area of study "Computer Science"
degree string
✅ Your degree "Bachelor of Science"
gpa number
❌ Your GPA 3.5
startDate date
✅ Start date of your education {"year": 2023, "month": 1}
endDate fales
ordate
✅ End date of your education. If you are still studying there, set this to false false
,{"year": 2023, "month": 1}
activities array
❌ Specify multiple activities you participated in during your education ["Activity 1", "Activity 2"]
courses array
❌ Specify multiple courses you took during your education ["Course 1", "Course 2"]
Example
[{ "institution": "University", "location": { "city": "New York", "country": "United States" }, "area": "Computer Science", "degree": "Bachelor of Science", "gpa": 3.5, "startDate": { "year": 2023, "month": 1 }, "endDate": { "year": 2023, "month": 1 }, "activities": [ "Activity 1", "Activity 2" ], "courses": [ "Course 1", "Course 2" ] }]
-
List of your awards.
property type required desc e.g. title string
✅ The title of the award "Award"
date date
✅ The date you recived the award {"year": 2023, "month": 1, "day": 1}
awarder string
✅ The name of the awarder "Company"
summary string
✅ A short summary of the award "A summary of the award"
description string
❌ Describe the award in detail "This is a description of the award"
Example
[{ "title": "Award", "date": { "year": 2023, "month": 1, "day": 1 }, "awarder": "Company", "summary": "A summary of the award", "description": "This is a description of the award" }]
-
List of your skills.
property type required desc e.g. name string
✅ Skill name "Frontend"
keywords array
✅ List of keywords to describe your skill ["JavaScript", "React", "Vue"]
Example
[{ "name": "Frontend", "keywords": [ "JavaScript", "React", "Vue" ] }]
-
List the languages you speak.
property type required desc e.g. language string
✅ Language name "English"
fluency enum
*✅ Fluency level "Fluent"
enum
*: Fluency levels can be one of the following:Beginner
,Elementary
,Intermediate
,Advanced
,Fluent
,Proficient
,Native
.Example
[ { "language": "English", "fluency": "Fluent" }, { "language": "Chinese", "fluency": "Native" } ]