package domain import "github.com/atombender/go-jsonschema/pkg/types" // e.g. 2014-06-29 type Iso8601 string type Resume struct { // link to the version of the schema that can validate the resume Schema *string `json:"$schema,omitempty" yaml:"$schema,omitempty" mapstructure:"$schema,omitempty"` // Specify any awards you have received throughout your professional career Awards []ResumeAwardsElem `json:"awards,omitempty" yaml:"awards,omitempty" mapstructure:"awards,omitempty"` // Basics corresponds to the JSON schema field "basics". Basics *ResumeBasics `json:"basics,omitempty" yaml:"basics,omitempty" mapstructure:"basics,omitempty"` // Specify any certificates you have received throughout your professional career Certificates []ResumeCertificatesElem `json:"certificates,omitempty" yaml:"certificates,omitempty" mapstructure:"certificates,omitempty"` // Education corresponds to the JSON schema field "education". Education []ResumeEducationElem `json:"education,omitempty" yaml:"education,omitempty" mapstructure:"education,omitempty"` // Interests corresponds to the JSON schema field "interests". Interests []ResumeInterestsElem `json:"interests,omitempty" yaml:"interests,omitempty" mapstructure:"interests,omitempty"` // List any other languages you speak Languages []ResumeLanguagesElem `json:"languages,omitempty" yaml:"languages,omitempty" mapstructure:"languages,omitempty"` // The schema version and any other tooling configuration lives here Meta *ResumeMeta `json:"meta,omitempty" yaml:"meta,omitempty" mapstructure:"meta,omitempty"` // Specify career projects Projects []ResumeProjectsElem `json:"projects,omitempty" yaml:"projects,omitempty" mapstructure:"projects,omitempty"` // Specify your publications through your career Publications []ResumePublicationsElem `json:"publications,omitempty" yaml:"publications,omitempty" mapstructure:"publications,omitempty"` // List references you have received References []ResumeReferencesElem `json:"references,omitempty" yaml:"references,omitempty" mapstructure:"references,omitempty"` // List out your professional skill-set Skills []ResumeSkillsElem `json:"skills,omitempty" yaml:"skills,omitempty" mapstructure:"skills,omitempty"` // Volunteer corresponds to the JSON schema field "volunteer". Volunteer []ResumeVolunteerElem `json:"volunteer,omitempty" yaml:"volunteer,omitempty" mapstructure:"volunteer,omitempty"` // Work corresponds to the JSON schema field "work". Work []ResumeWorkElem `json:"work,omitempty" yaml:"work,omitempty" mapstructure:"work,omitempty"` } type ResumeAwardsElem struct { // e.g. Time Magazine Awarder *string `json:"awarder,omitempty" yaml:"awarder,omitempty" mapstructure:"awarder,omitempty"` // Date corresponds to the JSON schema field "date". Date *Iso8601 `json:"date,omitempty" yaml:"date,omitempty" mapstructure:"date,omitempty"` // e.g. Received for my work with Quantum Physics Summary *string `json:"summary,omitempty" yaml:"summary,omitempty" mapstructure:"summary,omitempty"` // e.g. One of the 100 greatest minds of the century Title *string `json:"title,omitempty" yaml:"title,omitempty" mapstructure:"title,omitempty"` } type ResumeBasics struct { // e.g. thomas@gmail.com Email *string `json:"email,omitempty" yaml:"email,omitempty" mapstructure:"email,omitempty"` // URL (as per RFC 3986) to a image in JPEG or PNG format Image *string `json:"image,omitempty" yaml:"image,omitempty" mapstructure:"image,omitempty"` // e.g. Web Developer Label *string `json:"label,omitempty" yaml:"label,omitempty" mapstructure:"label,omitempty"` // Location corresponds to the JSON schema field "location". Location *ResumeBasicsLocation `json:"location,omitempty" yaml:"location,omitempty" mapstructure:"location,omitempty"` // Name corresponds to the JSON schema field "name". Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` // Phone numbers are stored as strings so use any format you like, e.g. // 712-117-2923 Phone *string `json:"phone,omitempty" yaml:"phone,omitempty" mapstructure:"phone,omitempty"` // Specify any number of social networks that you participate in Profiles []ResumeBasicsProfilesElem `json:"profiles,omitempty" yaml:"profiles,omitempty" mapstructure:"profiles,omitempty"` // Write a short 2-3 sentence biography about yourself Summary *string `json:"summary,omitempty" yaml:"summary,omitempty" mapstructure:"summary,omitempty"` // URL (as per RFC 3986) to your website, e.g. personal homepage Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` } type ResumeBasicsLocation struct { // To add multiple address lines, use // . For example, 1234 Glücklichkeit Straße // Hinterhaus 5. Etage li. Address *string `json:"address,omitempty" yaml:"address,omitempty" mapstructure:"address,omitempty"` // City corresponds to the JSON schema field "city". City *string `json:"city,omitempty" yaml:"city,omitempty" mapstructure:"city,omitempty"` // code as per ISO-3166-1 ALPHA-2, e.g. US, AU, IN CountryCode *string `json:"countryCode,omitempty" yaml:"countryCode,omitempty" mapstructure:"countryCode,omitempty"` // PostalCode corresponds to the JSON schema field "postalCode". PostalCode *string `json:"postalCode,omitempty" yaml:"postalCode,omitempty" mapstructure:"postalCode,omitempty"` // The general region where you live. Can be a US state, or a province, for // instance. Region *string `json:"region,omitempty" yaml:"region,omitempty" mapstructure:"region,omitempty"` } type ResumeBasicsProfilesElem struct { // e.g. Facebook or Twitter Network *string `json:"network,omitempty" yaml:"network,omitempty" mapstructure:"network,omitempty"` // e.g. http://twitter.example.com/neutralthoughts Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` // e.g. neutralthoughts Username *string `json:"username,omitempty" yaml:"username,omitempty" mapstructure:"username,omitempty"` } type ResumeCertificatesElem struct { // e.g. 1989-06-12 Date *types.SerializableDate `json:"date,omitempty" yaml:"date,omitempty" mapstructure:"date,omitempty"` // e.g. CNCF Issuer *string `json:"issuer,omitempty" yaml:"issuer,omitempty" mapstructure:"issuer,omitempty"` // e.g. Certified Kubernetes Administrator Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` // e.g. http://example.com Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` } type ResumeEducationElem struct { // e.g. Arts Area *string `json:"area,omitempty" yaml:"area,omitempty" mapstructure:"area,omitempty"` // List notable courses/subjects Courses []string `json:"courses,omitempty" yaml:"courses,omitempty" mapstructure:"courses,omitempty"` // EndDate corresponds to the JSON schema field "endDate". EndDate *Iso8601 `json:"endDate,omitempty" yaml:"endDate,omitempty" mapstructure:"endDate,omitempty"` // e.g. Massachusetts Institute of Technology Institution *string `json:"institution,omitempty" yaml:"institution,omitempty" mapstructure:"institution,omitempty"` // grade point average, e.g. 3.67/4.0 Score *string `json:"score,omitempty" yaml:"score,omitempty" mapstructure:"score,omitempty"` // StartDate corresponds to the JSON schema field "startDate". StartDate *Iso8601 `json:"startDate,omitempty" yaml:"startDate,omitempty" mapstructure:"startDate,omitempty"` // e.g. Bachelor StudyType *string `json:"studyType,omitempty" yaml:"studyType,omitempty" mapstructure:"studyType,omitempty"` // e.g. http://facebook.example.com Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` } type ResumeInterestsElem struct { // Keywords corresponds to the JSON schema field "keywords". Keywords []string `json:"keywords,omitempty" yaml:"keywords,omitempty" mapstructure:"keywords,omitempty"` // e.g. Philosophy Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` } type ResumeLanguagesElem struct { // e.g. Fluent, Beginner Fluency *string `json:"fluency,omitempty" yaml:"fluency,omitempty" mapstructure:"fluency,omitempty"` // e.g. English, Spanish Language *string `json:"language,omitempty" yaml:"language,omitempty" mapstructure:"language,omitempty"` } // The schema version and any other tooling configuration lives here type ResumeMeta struct { // URL (as per RFC 3986) to latest version of this document Canonical *string `json:"canonical,omitempty" yaml:"canonical,omitempty" mapstructure:"canonical,omitempty"` // Using ISO 8601 with YYYY-MM-DDThh:mm:ss LastModified *string `json:"lastModified,omitempty" yaml:"lastModified,omitempty" mapstructure:"lastModified,omitempty"` // A version field which follows semver - e.g. v1.0.0 Version *string `json:"version,omitempty" yaml:"version,omitempty" mapstructure:"version,omitempty"` } type ResumeProjectsElem struct { // Short summary of project. e.g. Collated works of 2017. Description *string `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"` // EndDate corresponds to the JSON schema field "endDate". EndDate *Iso8601 `json:"endDate,omitempty" yaml:"endDate,omitempty" mapstructure:"endDate,omitempty"` // Specify the relevant company/domain affiliations e.g. 'greenpeace', // 'corporationXYZ' Entity *string `json:"domain,omitempty" yaml:"domain,omitempty" mapstructure:"domain,omitempty"` // Specify multiple features Highlights []string `json:"highlights,omitempty" yaml:"highlights,omitempty" mapstructure:"highlights,omitempty"` // Specify special elements involved Keywords []string `json:"keywords,omitempty" yaml:"keywords,omitempty" mapstructure:"keywords,omitempty"` // e.g. The World Wide Web Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` // Specify your role on this project or in company Roles []string `json:"roles,omitempty" yaml:"roles,omitempty" mapstructure:"roles,omitempty"` // StartDate corresponds to the JSON schema field "startDate". StartDate *Iso8601 `json:"startDate,omitempty" yaml:"startDate,omitempty" mapstructure:"startDate,omitempty"` // e.g. 'volunteering', 'presentation', 'talk', 'application', 'conference' Type *string `json:"type,omitempty" yaml:"type,omitempty" mapstructure:"type,omitempty"` // e.g. http://www.computer.org/csdl/mags/co/1996/10/rx069-abs.html Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` } type ResumePublicationsElem struct { // e.g. The World Wide Web Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` // e.g. IEEE, Computer Magazine Publisher *string `json:"publisher,omitempty" yaml:"publisher,omitempty" mapstructure:"publisher,omitempty"` // ReleaseDate corresponds to the JSON schema field "releaseDate". ReleaseDate *Iso8601 `json:"releaseDate,omitempty" yaml:"releaseDate,omitempty" mapstructure:"releaseDate,omitempty"` // Short summary of publication. e.g. Discussion of the World Wide Web, HTTP, // HTML. Summary *string `json:"summary,omitempty" yaml:"summary,omitempty" mapstructure:"summary,omitempty"` // e.g. http://www.computer.org.example.com/csdl/mags/co/1996/10/rx069-abs.html Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` } type ResumeReferencesElem struct { // e.g. Timothy Cook Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` // e.g. Joe blogs was a great employee, who turned up to work at least once a // week. He exceeded my expectations when it came to doing nothing. Reference *string `json:"reference,omitempty" yaml:"reference,omitempty" mapstructure:"reference,omitempty"` } type ResumeSkillsElem struct { // List some keywords pertaining to this skill Keywords []string `json:"keywords,omitempty" yaml:"keywords,omitempty" mapstructure:"keywords,omitempty"` // e.g. Master Level *string `json:"level,omitempty" yaml:"level,omitempty" mapstructure:"level,omitempty"` // e.g. Web Development Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` } type ResumeVolunteerElem struct { // EndDate corresponds to the JSON schema field "endDate". EndDate *Iso8601 `json:"endDate,omitempty" yaml:"endDate,omitempty" mapstructure:"endDate,omitempty"` // Specify accomplishments and achievements Highlights []string `json:"highlights,omitempty" yaml:"highlights,omitempty" mapstructure:"highlights,omitempty"` // e.g. Facebook Organization *string `json:"organization,omitempty" yaml:"organization,omitempty" mapstructure:"organization,omitempty"` // e.g. Software Engineer Position *string `json:"position,omitempty" yaml:"position,omitempty" mapstructure:"position,omitempty"` // StartDate corresponds to the JSON schema field "startDate". StartDate *Iso8601 `json:"startDate,omitempty" yaml:"startDate,omitempty" mapstructure:"startDate,omitempty"` // Give an overview of your responsibilities at the company Summary *string `json:"summary,omitempty" yaml:"summary,omitempty" mapstructure:"summary,omitempty"` // e.g. http://facebook.example.com Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` } type ResumeWorkElem struct { // e.g. Social Media Company Description *string `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"` // EndDate corresponds to the JSON schema field "endDate". EndDate *Iso8601 `json:"endDate,omitempty" yaml:"endDate,omitempty" mapstructure:"endDate,omitempty"` // Specify multiple accomplishments Highlights []string `json:"highlights,omitempty" yaml:"highlights,omitempty" mapstructure:"highlights,omitempty"` // e.g. Menlo Park, CA Location *string `json:"location,omitempty" yaml:"location,omitempty" mapstructure:"location,omitempty"` // e.g. Facebook Name *string `json:"name,omitempty" yaml:"name,omitempty" mapstructure:"name,omitempty"` // e.g. Software Engineer Position *string `json:"position,omitempty" yaml:"position,omitempty" mapstructure:"position,omitempty"` // StartDate corresponds to the JSON schema field "startDate". StartDate *Iso8601 `json:"startDate,omitempty" yaml:"startDate,omitempty" mapstructure:"startDate,omitempty"` // Give an overview of your responsibilities at the company Summary *string `json:"summary,omitempty" yaml:"summary,omitempty" mapstructure:"summary,omitempty"` // e.g. http://facebook.example.com Url *string `json:"url,omitempty" yaml:"url,omitempty" mapstructure:"url,omitempty"` }