diff --git a/.travis.yml b/.travis.yml index ee42587..79a0df3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: go go: - - "1.12.x" + - "1.14.x" - master script: diff --git a/Makefile b/Makefile index fdeb0f8..580e0fb 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,9 @@ pre-build: build: pre-build @go build -ldflags "-X $(CODEPATH)/cmd.version=$(RESUMIC_VERSION)$(SUFFIX) -X $(CODEPATH)/cmd.gitCommit=$(GITCOMMIT)" -o resumic + ./resumic generate example + ./resumic generate uischema + ./resumic generate jsonschema @packr2 clean release: pre-build @@ -25,4 +28,4 @@ test: build .PHONY: clean clean: ./resumic - @rm resumic \ No newline at end of file + @rm resumic diff --git a/cmd/generate_example.go b/cmd/generate_example.go index 40cfaca..c49ba69 100644 --- a/cmd/generate_example.go +++ b/cmd/generate_example.go @@ -5,11 +5,11 @@ import ( "fmt" "io/ioutil" - "go.resumic.org/schema/schema" "github.com/spf13/cobra" + "go.resumic.org/schema/schema" ) -// Flag to specify output. Default value is "resume_example.json" +// Flag to specify output. Default value is "resume-example.json" var outputFileName string func generateExampleRun(cmd *cobra.Command, args []string) error { @@ -38,6 +38,6 @@ var generateExampleCmd = &cobra.Command{ } func init() { - generateExampleCmd.Flags().StringVarP(&outputFileName, "output", "o", "resume_example.json", "Specify a custom output file for example resume data.") + generateExampleCmd.Flags().StringVarP(&outputFileName, "output", "o", "resume-example.json", "Specify a custom output file for example resume data.") generateCmd.AddCommand(generateExampleCmd) } diff --git a/cmd/generate_example_test.go b/cmd/generate_example_test.go index 0bbc294..2e0f556 100644 --- a/cmd/generate_example_test.go +++ b/cmd/generate_example_test.go @@ -16,7 +16,7 @@ func TestGenerateExampleRunValid(t *testing.T) { if err != nil { t.Fatalf("Could not generate example, %s", err) } - r, err := compareJSONFiles("../example.json", tempFile.Name()) + r, err := compareJSONFiles("../resume-example.json", tempFile.Name()) if err != nil { t.Fatalf("could not compare example.json and generated schema: %s", err) } diff --git a/cmd/generate_jsonschema.go b/cmd/generate_jsonschema.go index 4c0604c..e58876e 100644 --- a/cmd/generate_jsonschema.go +++ b/cmd/generate_jsonschema.go @@ -31,6 +31,6 @@ var generateJSONSchemaCmd = &cobra.Command{ } func init() { - generateJSONSchemaCmd.Flags().StringVarP(&schemaPath, "output", "o", "resume.json", "Specify an output file for the resume data") + generateJSONSchemaCmd.Flags().StringVarP(&schemaPath, "output", "o", "schema.json", "Specify an output file for the resume data") generateCmd.AddCommand(generateJSONSchemaCmd) } diff --git a/cmd/generate_uischema.go b/cmd/generate_uischema.go index ce42f2e..92d1961 100644 --- a/cmd/generate_uischema.go +++ b/cmd/generate_uischema.go @@ -31,6 +31,6 @@ var generateUISchemaCmd = &cobra.Command{ } func init() { - generateUISchemaCmd.Flags().StringVarP(&uiSchemaPath, "output", "o", "resume.json", "Specify an output file for the resume data") + generateUISchemaCmd.Flags().StringVarP(&uiSchemaPath, "output", "o", "ui-schema.json", "Specify an output file for the resume data") generateCmd.AddCommand(generateUISchemaCmd) } diff --git a/cmd/generate_uischema_test.go b/cmd/generate_uischema_test.go index abb40a7..40f4aa3 100644 --- a/cmd/generate_uischema_test.go +++ b/cmd/generate_uischema_test.go @@ -16,7 +16,7 @@ func TestGenerateUISchemaRunValid(t *testing.T) { if err != nil { t.Fatalf("Could not generate schema, %s", err) } - r, err := compareJSONFiles("../ui.json", tempFile.Name()) + r, err := compareJSONFiles("../ui-schema.json", tempFile.Name()) if err != nil { t.Fatalf("could not compare ui.json and generated schema: %s", err) } diff --git a/cmd/render_test.go b/cmd/render_test.go index f7e2d0f..a1ff41d 100644 --- a/cmd/render_test.go +++ b/cmd/render_test.go @@ -7,7 +7,7 @@ import ( ) func TestRenderRun(t *testing.T) { - resumePath := "../example.json" + resumePath := "../resume-example.json" htmlPath := "../example.html" cacheDir, err := ioutil.TempDir("", "") if err != nil { diff --git a/cmd/validate_test.go b/cmd/validate_test.go index 4d6ed83..54543a0 100644 --- a/cmd/validate_test.go +++ b/cmd/validate_test.go @@ -3,7 +3,7 @@ package cmd import "testing" func TestValidateRunValid(t *testing.T) { - resumeFile := "../example.json" + resumeFile := "../resume-example.json" err := Execute([]string{"validate", "-r", resumeFile}) //validateRun(validateCmd, []string{"-r", resumeFile}) if err != nil { t.Fatalf("Expected valid state, got error, %s", err) diff --git a/example.html b/example.html deleted file mode 100644 index 4f87ed4..0000000 --- a/example.html +++ /dev/null @@ -1,6 +0,0 @@ - - - - John Doe - Software Engineer - - \ No newline at end of file diff --git a/example.json b/example.json deleted file mode 100644 index 865a88b..0000000 --- a/example.json +++ /dev/null @@ -1,225 +0,0 @@ -{ - "core": { - "title": "Software Engineer", - "workArea": "Munich Citycenter + 20kms", - "livingArea": "Germany" - }, - "personal": { - "name": "John Doe", - "gender": "male", - "image": "example.com/Abcxyz", - "email": "lucas@example.com", - "phone": "912-217-7923", - "url": "http://www.example.com/", - "summary": "The man who sold the world!", - "currentLocation": { - "lat": 35.712758, - "long": 51.392114 - }, - "permanentLocation": { - "lat": 35.712758, - "long": 51.392114 - }, - "birthday": "1995-02-14", - "birthPlace": "Munich", - "profiles": [ - { - "network": "github", - "username": "john_doe", - "url": "https://github.com/john_doe" - } - ], - "relationshipStatus": "married", - "postalAddress": "John Doe, Wittekindshof, Schulstrasse 4, 32547 Bad Oyenhausen, Germany" - }, - "work": [ - { - "name": "XYZ Inc", - "description": "A social media company", - "position": "Software Engineer", - "location": { - "lat": 35.712758, - "long": 51.392114 - }, - "url": "http://xyz.example.com", - "startDate": "2017-12-29", - "endDate": "2018-12-29", - "summary": "Developing and maintaining the company website using syna", - "highlights": [ - "Worked with mobile team at Twitter to develop remote debugging tools for mobile browsers" - ] - } - ], - "education": [ - { - "institution": "XYZ Institute of Technology", - "location": { - "lat": 35.712758, - "long": 51.392114 - }, - "area": "Engineering", - "studyType": "Bachelor", - "startDate": "2017-06-28", - "endDate": "2013-06-28", - "score": { - "type": "GPA", - "value": "3.4", - "best": "4", - "worst": "0" - }, - "courses": [ - "CS302 - Introduction to Algorithms" - ], - "honors": [ - "Magna Cum Laude" - ], - "highlights": [ - "Live abroad within a new culture" - ] - } - ], - "volunteer": [ - { - "organization": "Xyz", - "position": "Open Source Contributor", - "location": { - "lat": 35.712758, - "long": 51.392114 - }, - "url": "http://xyz.example.com", - "startDate": "2014-06-29", - "endDate": "2017-06-29", - "summary": "Frontend developer", - "highlights": [ - "Invited as a speaker in Xyzcon'17" - ] - } - ], - "publications": [ - { - "name": "Deep learning and Artificial Intelligence", - "publisher": "XYZ, Computer Magazine", - "publicationDate": "2015-08-01", - "resources": [ - { - "url": "http://www.example.com/my-example-slides/", - "label": "Slides" - } - ], - "url": "http://www.computer.org.example.com/csdl/mags/co/2015/10/rx069-abs.html", - "summary": "Discussion of the advent of deep learning and artificial intelligence" - } - ], - "legal": [ - { - "name": "XYZ's patent on LZW compression, a fundamental part of the widely used GIF graphics format", - "legalType": "Patent, Trademark, Copyright", - "description": "Some legal document!", - "applicationDate": "2015-08-01", - "grantDate": "2016-09-01", - "endDate": "2020-09-03", - "resources": [ - { - "url": "http://www.example.com/my-example-slides/", - "label": "Slides" - } - ], - "idNumber": "JP2004369746A", - "currentAssignee": "John Doe", - "previousAssignee": "John Doe", - "author": "John Doe", - "coAuthors": "John Doe" - } - ], - "skills": [ - { - "name": "Web Development", - "proficiency": "advanced", - "keywords": [ - "HTML" - ] - } - ], - "awards": [ - { - "title": "Awarded Software Process Achievement Award", - "date": "2016-06-12", - "awarder": "IEEE", - "summary": "Received for my work in Deep learning and AI" - } - ], - "projects": [ - { - "name": "File Transfer application", - "location": { - "lat": 35.712758, - "long": 51.392114 - }, - "description": "Developed a client and server based application", - "highlights": [ - "used Java AWT and Swing for client side userinterface" - ], - "keywords": [ - "Java" - ], - "startDate": "2016-06-29", - "endDate": "2017-03-02", - "resources": [ - { - "url": "http://www.example.com/my-example-slides/", - "label": "Slides" - } - ], - "url": "http://www.example.org/csdl/mags/co/1996/10/rx069-abs.html", - "roles": [ - "Team Lead" - ], - "entity": "greenpeace", - "type": "volunteering" - } - ], - "certificate": [ - { - "code": "1Z0-062", - "name": "XYZ Certified Application Specialist (MCAS)", - "website": "http://www.example.org", - "verification": "http://www.example.org", - "grantDate": "2017-06-29", - "score": { - "type": "GPA", - "value": "3.4", - "best": "4", - "worst": "0" - }, - "endDate": "2017-06-29", - "doesNotExpire": true - } - ], - "references": [ - { - "name": "Stephan Mark", - "company": "Xyz", - "position": "Senior Software Engineer", - "reference": "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." - } - ], - "languages": [ - { - "language": "English", - "level": "fluent" - } - ], - "interests": [ - { - "name": "Machine Learning", - "keywords": [ - "Neural Networks" - ] - } - ], - "meta": { - "version": "v1.0.0", - "lastModified": "2017-06-29T15:53:01+01:00", - "uuid": "078c39ce-23ee-4970-9637-c07379132dce" - } -} diff --git a/go.mod b/go.mod index 26d4725..fe039c6 100644 --- a/go.mod +++ b/go.mod @@ -3,10 +3,11 @@ module go.resumic.org/schema go 1.13 require ( - github.com/gobuffalo/packd v0.3.0 - github.com/gobuffalo/packr/v2 v2.6.0 + github.com/gobuffalo/envy v1.7.0 // indirect + github.com/gobuffalo/packd v1.0.0 + github.com/gobuffalo/packr/v2 v2.8.0 github.com/gohugoio/hugo v0.58.1 - github.com/spf13/cobra v0.0.5 + github.com/spf13/cobra v0.0.6 github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.1.0 diff --git a/go.sum b/go.sum index d3fa133..bbfbc51 100644 --- a/go.sum +++ b/go.sum @@ -84,6 +84,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ= github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk= @@ -128,10 +130,17 @@ github.com/gobuffalo/envy v1.7.0 h1:GlXgaiBkmrYMHco6t4j7SacKO4XUjvh5pwXh0f4uxXU= github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= github.com/gobuffalo/logger v1.0.0 h1:xw9Ko9EcC5iAFprrjJ6oZco9UpzS5MQ4jAwghsLHdy4= github.com/gobuffalo/logger v1.0.0/go.mod h1:2zbswyIUa45I+c+FLXuWl9zSWEiVuthsk8ze5s8JvPs= +github.com/gobuffalo/logger v1.0.3 h1:YaXOTHNPCvkqqA7w05A4v0k2tCdpr+sgFlgINbQ6gqc= +github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= github.com/gobuffalo/packd v0.3.0 h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4= github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= +github.com/gobuffalo/packd v1.0.0 h1:6ERZvJHfe24rfFmA9OaoKBdC7+c9sydrytMg8SdFGBM= +github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= +github.com/gobuffalo/packr v1.30.1 h1:hu1fuVR3fXEZR7rXNW3h8rqSML8EVAf6KNm0NKO/wKg= github.com/gobuffalo/packr/v2 v2.6.0 h1:EMUzJIb5rof6r087PtGmgdzdLKpRBESJ/8jyL9MexfY= github.com/gobuffalo/packr/v2 v2.6.0/go.mod h1:sgEE1xNZ6G0FNN5xn9pevVu4nywaxHvgup67xisti08= +github.com/gobuffalo/packr/v2 v2.8.0 h1:IULGd15bQL59ijXLxEvA5wlMxsmx/ZkQv9T282zNVIY= +github.com/gobuffalo/packr/v2 v2.8.0/go.mod h1:PDk2k3vGevNE3SwVyVRgQCCXETC9SaONCNSXT1Q8M1g= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -200,6 +209,8 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/karrick/godirwalk v1.10.12 h1:BqUm+LuJcXjGv1d2mj3gBiQyrQ57a0rYoAmhvJQ7RDU= github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/karrick/godirwalk v1.15.3 h1:0a2pXOgtB16CqIqXTiT7+K9L73f74n/aNQUnH6Ortew= +github.com/karrick/godirwalk v1.15.3/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd h1:Coekwdh0v2wtGp9Gmz1Ze3eVRAWJMLokvN3QjdzCHLY= github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= @@ -221,8 +232,14 @@ github.com/magefile/mage v1.4.0/go.mod h1:IUDi13rsHje59lecXokTfGX0QIzO45uVPlXnJY github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/markbates/errx v1.1.0 h1:QDFeR+UP95dO12JgW+tgi2UVfo0V8YBHiUIOaeBPiEI= +github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= github.com/markbates/inflect v1.0.0 h1:gTffXSQCc+WaIvBcI/IItJQMOemietXr5EIKLXDYqI4= github.com/markbates/inflect v1.0.0/go.mod h1:oTeZL2KHA7CUX6X+fovmK9OvIOFuqu0TwdQrZjLTh88= +github.com/markbates/oncer v1.0.0 h1:E83IaVAHygyndzPimgUYJjbshhDTALZyXxvk9FOlQRY= +github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= +github.com/markbates/safe v1.0.1 h1:yjZkbvRM6IzKj9tlu/zMJLS0n/V351OZWRnF3QfaUxI= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= @@ -284,15 +301,21 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0 h1:RR9dF3JtopPvtkroDZuVD7qquD0bnHlKSqaQhgwt8yk= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.5.2 h1:qLvObTrvO/XRCqmkKxUlOBc48bI3efyDuAZe25QiF0w= +github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday v1.5.3-0.20190124082335-a477dd164691 h1:auJkuUc4uOuZNoH9jGLvqVaDLiuCOh/LY+Qw5NBFo4I= github.com/russross/blackfriday v1.5.3-0.20190124082335-a477dd164691/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd h1:CmH9+J6ZSsIjUK3dcGsnCnO41eRBOnY12zwkn5qVwgc= github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk= github.com/sanity-io/litter v1.1.0 h1:BllcKWa3VbZmOZbDCoszYLk7zCsKHz5Beossi8SUcTc= github.com/sanity-io/litter v1.1.0/go.mod h1:CJ0VCw2q4qKU7LaQr3n7UOSHzgEMgcGco7N/SkZQPjw= github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= @@ -306,6 +329,8 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cobra v0.0.4-0.20190321000552-67fc4837d267/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/cobra v0.0.6 h1:breEStsVwemnKh2/s6gMvSdMEkwW0sK8vGStnlVBMCs= +github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/fsync v0.9.0 h1:f9CEt3DOB2mnHxZaftmEOFWjABEvKM/xpf3cUwJrGOY= github.com/spf13/fsync v0.9.0/go.mod h1:fNtJEfG3HiltN3y4cPOz6MLjos9+2pIEqLIgszqhp/0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= @@ -324,6 +349,8 @@ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/tdewolff/minify/v2 v2.3.7 h1:nhk7MKYRdTDwTxqEQZKLDkLe04tDHht8mBI+VJrsYvk= github.com/tdewolff/minify/v2 v2.3.7/go.mod h1:DD1stRlSx6JsHfl1+E/HVMQeXiec9rD1UQ0epklIZLc= github.com/tdewolff/parse/v2 v2.3.5 h1:/uS8JfhwVJsNkEh769GM5ENv6L9LOh2Z9uW3tCdlhs0= @@ -376,6 +403,9 @@ golang.org/x/crypto v0.0.0-20190422183909-d864b10871cd/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c h1:/nJuwDLoL/zrqY6gf57vxC+Pi+pZ8bfhpPkicO5H7W4= +golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/image v0.0.0-20190523035834-f03afa92d3ff h1:+2zgJKVDVAz/BWSsuniCmU1kLCjL88Z8/kv39xCI9NQ= golang.org/x/image v0.0.0-20190523035834-f03afa92d3ff/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -383,6 +413,7 @@ golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTk golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -404,6 +435,8 @@ golang.org/x/net v0.0.0-20190606173856-1492cefac77f/go.mod h1:HSz+uSET+XFnRR8LxR golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80 h1:Ao/3l156eZf2AW5wK8a7/smtodRU+gha3+BeqJ69lRk= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190319182350-c85d3e98c914/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -416,6 +449,8 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e h1:vcxGaoTs7kV8m5Np9uUNQin4BrLOthgV7252N8V+FwY= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -453,9 +488,15 @@ golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a h1:mEQZbbaBjWyLNy0tmZmgEuQAR8XOQ3hL8GYi3J/NG64= golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200308013534-11ec41452d41 h1:9Di9iYgOt9ThCipBxChBVhgNipDoE5mxO84rQV7D0FE= +golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.3.2/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.5.0 h1:lj9SyhMzyoa38fgFF0oO2T6pjs5IzkLPKfVtxpyCRMM= diff --git a/media/placeholders/certificate.svg b/media/placeholders/certificate.svg new file mode 100644 index 0000000..a3226c9 --- /dev/null +++ b/media/placeholders/certificate.svg @@ -0,0 +1,178 @@ + + diff --git a/media/placeholders/entity.svg b/media/placeholders/entity.svg new file mode 100644 index 0000000..a75e967 --- /dev/null +++ b/media/placeholders/entity.svg @@ -0,0 +1,155 @@ + + diff --git a/media/placeholders/profile.svg b/media/placeholders/profile.svg new file mode 100644 index 0000000..eba7213 --- /dev/null +++ b/media/placeholders/profile.svg @@ -0,0 +1,62 @@ + + diff --git a/media/placeholders/project.svg b/media/placeholders/project.svg new file mode 100644 index 0000000..b2df5f1 --- /dev/null +++ b/media/placeholders/project.svg @@ -0,0 +1,185 @@ + + diff --git a/resume-example.json b/resume-example.json new file mode 100644 index 0000000..d2ec584 --- /dev/null +++ b/resume-example.json @@ -0,0 +1,388 @@ +{ + "$schema": "https://schema.resumic.org/latest.json", + "core": { + "title": "Software Engineer", + "livingArea": { + "location": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "radius": "5km" + }, + "disposition": { + "travelTime": "25", + "authorization": [ + "US Permanent Resident Card" + ], + "remote": true, + "workArea": { + "location": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "radius": "5km" + }, + "relocation": { + "willingness": true, + "area": "English Speaking Countries" + } + }, + "summary": "Passionate individual looking for my next xyz challenge" + }, + "personal": { + "name": "John Doe", + "legalGender": "male", + "identityGender": "male", + "pronouns": "they/their/them", + "email": "lucas@example.com", + "phone": "912-217-7923", + "currentLocation": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "permanentLocation": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "birthday": "1995-02-14", + "birthPlace": "Munich", + "citizenship": "Germany", + "profiles": [ + { + "network": "Github", + "username": "john_doe", + "url": "https://github.com/john_doe" + } + ], + "relationshipStatus": "married", + "postalAddress": "John Doe, Wittekindshof, Schulstrasse 4, 32547 Bad Oyenhausen, Germany", + "url": "http://www.example.com/", + "image": "https://resumic.org/assets/profile.svg" + }, + "work": { + "work": [ + { + "roles": [ + "Software Engineer" + ], + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "startDate": "2017-12-29", + "endDate": "2018-12-29", + "location": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "summary": "The work with company XYZ was a great experience taking my knowledge accumulation to new heights. The remote team setup made me aware of my love for remote working.", + "highlights": [ + "Worked with mobile team at Twitter to develop remote debugging tools for mobile browsers" + ] + } + ], + "summary": "My general work experience was interrupted by a new educational experience, which now enables me to do even more." + }, + "education": { + "education": [ + { + "degree": "Bachelor of Science", + "area": "Engineering", + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "studyStage": "higher", + "startDate": "2017-06-28", + "endDate": "2013-06-28", + "location": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "score": { + "value": "3.4", + "best": "4", + "worst": "0", + "label": "GPA" + }, + "honors": [ + "Magna Cum Laude" + ], + "courses": [ + "CS302 - Introduction to Algorithms" + ], + "summary": "My studies with institute XYZ was a great experience taking my knowledge accumulation to new heights. The campus live not only enabled meeting new friends, but to build out my network.", + "highlights": [ + "Live abroad within a new culture" + ] + } + ], + "summary": "My diverse education gives me an additional context in my area of work." + }, + "volunteer": { + "volunteer": [ + { + "roles": [ + "Open Source Contributor" + ], + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "startDate": "2014-06-29", + "endDate": "2017-06-29", + "location": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "resources": [ + { + "url": "http://www.example.com/my-example-slides/", + "label": "Slides" + } + ], + "summary": "Doing accounting work to keep things afloat.", + "highlights": [ + "Set up huge donor run" + ] + } + ], + "summary": "Creating positive change is not only important in my professional life, but also in my private life and I do my best to help and volunteer." + }, + "publications": { + "publications": [ + { + "name": "Deep learning and Artificial Intelligence", + "description": "Discussion of the advent of deep learning and artificial intelligence", + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "publicationDate": "2015-08-01", + "roles": [ + "Reviewer" + ], + "coAuthors": [ + { + "name": "John Doe", + "url": "https://linkedin.com/john_doe" + } + ], + "identifier": [ + { + "id": "10.1000/182", + "label": "DOI" + } + ], + "url": "http://www.computer.org.example.com/csdl/mags/co/2015/10/rx069-abs.html", + "image": "https://resumic.org/assets/publication.svg", + "resources": [ + { + "url": "http://www.example.com/my-example-slides/", + "label": "Slides" + } + ], + "summary": "Writing this publication opened up a huge wave of new research areas. The work together with \u003cperson\u003e was the highlight of my research in the field of AI.", + "highlights": [ + "Changed how we see the world" + ] + } + ], + "summary": "Thanks to my co-Authors and the willing reviewers my publications far surpass my imaginations." + }, + "legal": { + "legal": [ + { + "name": "XYZ's patent on LZW compression, a fundamental part of the widely used GIF graphics format", + "description": "Some legal document!", + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "legalType": "Patent, Trademark, Copyright", + "applicationDate": "2015-08-01", + "grantDate": "2016-09-01", + "endDate": "2020-09-03", + "resources": [ + { + "url": "http://www.example.com/my-example-slides/", + "label": "Slides" + } + ], + "identifier": [ + { + "id": "10.1000/182", + "label": "DOI" + } + ], + "currentAssignee": "John Doe", + "previousAssignee": "John Doe", + "roles": [ + "Reviewer" + ], + "coAuthors": [ + { + "name": "John Doe", + "url": "https://linkedin.com/john_doe" + } + ], + "summary": "Build out onboarding process as core maintainer" + } + ], + "summary": "As a hobby inventor I was able to amass a wide variety of copyright, patent and other legal objects." + }, + "skills": { + "skills": [ + { + "name": "Web Development", + "proficiency": "4", + "keywords": [ + "HTML" + ] + } + ], + "summary": "My passion for figuring out things brings me to discover and learn new skills. I only listed only the most relevant skills. Please reach out for any further questions." + }, + "awards": { + "awards": [ + { + "name": "Nobel Peace Prize", + "description": "slightly known award for supposedly doing the good fight", + "date": "2016-06-12", + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "summary": "Due to my long time work on preventing harm, I was lucky to be awarded the Nobel Peace Prize." + } + ], + "summary": "Most awards are of honory mention, but I personally want to point out Award XYZ as it is one of my most precious ones." + }, + "projects": { + "projects": [ + { + "name": " Resumic", + "description": "Open CV standard", + "startDate": "2016-06-29", + "endDate": "2017-03-02", + "roles": [ + "Team Lead" + ], + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "type": "open source|volunteering|hobby", + "location": { + "lat": 48.1548895, + "long": 11.4717966 + }, + "url": "http://www.example.org/csdl/mags/co/1996/10/rx069-abs.html", + "image": "https://resumic.org/assets/project.svg", + "resources": [ + { + "url": "http://www.example.com/my-example-slides/", + "label": "Slides" + } + ], + "summary": "Starting a new CV standard to create a new CV was definitely not the most efficient use of time.", + "highlights": [ + "Used by a broad community" + ], + "keywords": [ + "JSON" + ] + } + ], + "summary": "Most of my projects are work related and can't be shown extensively. I'm happy to talk about them in detail on a call." + }, + "certificates": { + "certificates": [ + { + "name": "XYZ Certified Application Specialist (MCAS)", + "description": "software application specialization certificate", + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "startDate": "2017-06-29", + "endDate": "2017-06-29", + "code": "1Z0-062", + "score": { + "value": "3.4", + "best": "4", + "worst": "0", + "label": "GPA" + }, + "verification": "https://www.coursera.org/account/accomplishments/verify/XYZ", + "perpetual": "true", + "image": "https://resumic.org/assets/certificate.svg" + } + ], + "summary": "Personally prefer the technology over specific certificates, but happy to take additional certification exams to validate my experiences." + }, + "references": { + "references": [ + { + "name": "Stephan Mark", + "reference": " Person was a great employee, who turned up to work at least once a week. He exceeded my expectations when it came to doing nothing.", + "entity": { + "name": "Entity of Things", + "description": "A good things entity", + "url": "http://xyz.example.com", + "image": "https://resumic.org/assets/entity.svg" + }, + "role": "Senior Software Engineer" + } + ], + "summary": "My references are great due to specific items. For contact details about my references please reach out directly" + }, + "languages": { + "languages": [ + { + "language": "English", + "level": "1" + } + ], + "summary": "Due to an extended time in a country my fluency is great." + }, + "interests": { + "interests": [ + { + "name": "Machine Learning", + "keywords": [ + "Neural Networks" + ] + } + ], + "summary": "My interest give me the necessary downtime to balance work and family obligations." + }, + "meta": { + "canonical": "http://example.org/my-resume.json", + "version": "v1.0.0", + "lastModified": "2017-06-29T15:53:01+01:00", + "uuid": "078c39ce-23ee-4970-9637-c07379132dce", + "tooling": {}, + "schema": { + "filters": {}, + "localization": {} + }, + "schemaVersion": "v1.0.0" + } +} \ No newline at end of file diff --git a/schema.json b/schema.json index 706cd1a..98ac691 100644 --- a/schema.json +++ b/schema.json @@ -2,366 +2,713 @@ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { + "$schema": { + "description": "url of JSON Schema used for validation", + "format": "uri", + "type": "string" + }, "awards": { - "description": "list of awards have been received", - "items": { - "additionalProperties": false, - "properties": { - "awarder": { - "description": "name of the awarder", - "type": "string" - }, - "date": { - "description": "date of the award", - "format": "date", - "type": "string" - }, - "summary": { - "description": "reason of the award", - "type": "string" + "additionalProperties": false, + "description": "language section with summary and list of received awards", + "properties": { + "awards": { + "description": "list of awards", + "items": { + "additionalProperties": false, + "properties": { + "date": { + "description": "date of the award", + "format": "date", + "type": "string" + }, + "description": { + "description": "short description about the award", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "name": { + "description": "name of the award", + "type": "string" + }, + "summary": { + "description": "continous text summarizing the experiences", + "type": "string" + } + }, + "required": [ + "name", + "date", + "entity" + ], + "type": "object" }, - "title": { - "description": "title of the award", - "type": "string" - } - }, - "required": [ - "title", - "date", - "awarder" - ], - "type": "object" + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full award section", + "type": "string" + } }, - "type": "array" + "type": "object" }, - "certificate": { - "items": { - "additionalProperties": false, - "properties": { - "code": { - "description": "code of the certificate", - "type": "string" - }, - "doesNotExpire": { - "type": "boolean" - }, - "endDate": { - "description": "end date of certificate", - "format": "date", - "type": "string" - }, - "grantDate": { - "description": "date of the grant", - "format": "date", - "type": "string" - }, - "name": { - "description": "name of the certificate", - "type": "string" - }, - "score": { + "certificates": { + "additionalProperties": false, + "description": "language section with summary and list of certificates and permits", + "properties": { + "certificates": { + "description": "list of certificates", + "items": { "additionalProperties": false, - "description": "exam score", "properties": { - "best": { - "description": "best possible score", + "code": { + "description": "code of the certificate", "type": "string" }, - "type": { - "description": "type of the score", + "description": { + "description": "short description of the certificate", + "type": "string" + }, + "endDate": { + "description": "end date", + "format": "date", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "image": { + "description": "url or src of a certification badge or another related image", + "type": "string" + }, + "name": { + "description": "name of the certificate", + "type": "string" + }, + "perpetual": { + "description": "validity status being perpetual or not", "type": "string" }, - "value": { - "description": "value of the score", + "score": { + "additionalProperties": false, + "description": "exam score", + "properties": { + "best": { + "description": "best possible score", + "type": "string" + }, + "label": { + "description": "label/type of the score", + "type": "string" + }, + "value": { + "description": "value of the score", + "type": "string" + }, + "worst": { + "description": "worst possible score", + "type": "string" + } + }, + "required": [ + "value", + "best", + "worst" + ], + "type": "object" + }, + "startDate": { + "description": "start date", + "format": "date", "type": "string" }, - "worst": { - "description": "worst possible score", + "verification": { + "description": "public certificate verification URL", + "format": "uri", "type": "string" } }, "required": [ - "type", - "value", - "best", - "worst" + "name", + "entity" ], "type": "object" }, - "verification": { - "description": "external candidate verification URL", - "format": "uri", - "type": "string" - }, - "website": { - "description": "link to issuing authority's description of the certificate", - "format": "uri", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full certificate section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "core": { "additionalProperties": false, + "description": "core non identifying facts", "properties": { + "disposition": { + "additionalProperties": false, + "description": " disposition or desire for work engagements", + "properties": { + "authorization": { + "description": "authorizations such as work and travel visa and residencies", + "items": { + "type": "string" + }, + "type": "array" + }, + "commitmentType": { + "description": "types of work commitements desired such as fulltime, part-time, contract, permanent etc.", + "type": "string" + }, + "relocation": { + "additionalProperties": false, + "description": "relocation preferences such as willingness and location", + "properties": { + "area": { + "description": "work area which could be city or country or language area", + "type": "string" + }, + "willingness": { + "description": "willingness to relocate", + "type": "boolean" + } + }, + "type": "object" + }, + "remote": { + "description": "desire to work remotely", + "type": "boolean" + }, + "travelTime": { + "description": "percentage of time willing to travel", + "type": "string" + }, + "workArea": { + "additionalProperties": false, + "description": "work area which could be city or country or even remote", + "properties": { + "location": { + "additionalProperties": false, + "description": "specific location", + "properties": { + "lat": { + "description": "latitude part of a coordinate", + "type": "number" + }, + "long": { + "description": "longitude part of a coordinate", + "type": "number" + } + }, + "required": [ + "lat", + "long" + ], + "type": "object" + }, + "radius": { + "description": "radius denoting the area around a location", + "type": "string" + } + }, + "required": [ + "location", + "radius" + ], + "type": "object" + } + }, + "type": "object" + }, "livingArea": { + "additionalProperties": false, "description": "living area which could be city or country or even continent", + "properties": { + "location": { + "additionalProperties": false, + "description": "specific location", + "properties": { + "lat": { + "description": "latitude part of a coordinate", + "type": "number" + }, + "long": { + "description": "longitude part of a coordinate", + "type": "number" + } + }, + "required": [ + "lat", + "long" + ], + "type": "object" + }, + "radius": { + "description": "radius denoting the area around a location", + "type": "string" + } + }, + "required": [ + "location", + "radius" + ], + "type": "object" + }, + "summary": { + "description": "write a short biography about you and your achievements optionally in relation to your current application", "type": "string" }, "title": { "description": "job title", "type": "string" - }, - "workArea": { - "description": "work area which could be city or country or even remote", - "type": "string" } }, "type": "object" }, "education": { - "items": { - "additionalProperties": false, - "properties": { - "area": { - "description": "area of study", - "type": "string" - }, - "courses": { - "description": "notable courses/subjects", - "items": { - "type": "string" - }, - "type": "array" - }, - "endDate": { - "description": "end date", - "format": "date", - "type": "string" - }, - "highlights": { - "description": "some of accomplishments", - "items": { - "type": "string" - }, - "type": "array" - }, - "honors": { - "description": "some education honours", - "items": { - "type": "string" - }, - "type": "array" - }, - "institution": { - "type": "string" - }, - "location": { + "additionalProperties": false, + "description": "language section with summary and list of the education", + "properties": { + "education": { + "description": "list of education experiences", + "items": { "additionalProperties": false, - "description": "location of institution", "properties": { - "lat": { - "type": "number" + "area": { + "description": "area of study", + "type": "string" }, - "long": { - "type": "number" - } - }, - "required": [ - "lat", - "long" - ], - "type": "object" - }, - "score": { - "additionalProperties": false, - "properties": { - "best": { - "description": "best possible score", + "courses": { + "description": "notable courses/subjects", + "items": { + "type": "string" + }, + "type": "array" + }, + "degree": { + "description": "final or persuing degree", "type": "string" }, - "type": { - "description": "type of the score", + "endDate": { + "description": "end date", + "format": "date", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "highlights": { + "description": "important (bullet point) achievements", + "items": { + "type": "string" + }, + "type": "array" + }, + "honors": { + "description": "specific honors", + "items": { + "type": "string" + }, + "type": "array" + }, + "location": { + "additionalProperties": false, + "description": "location of the activity", + "properties": { + "lat": { + "description": "latitude part of a coordinate", + "type": "number" + }, + "long": { + "description": "longitude part of a coordinate", + "type": "number" + } + }, + "required": [ + "lat", + "long" + ], + "type": "object" + }, + "score": { + "additionalProperties": false, + "properties": { + "best": { + "description": "best possible score", + "type": "string" + }, + "label": { + "description": "label/type of the score", + "type": "string" + }, + "value": { + "description": "value of the score", + "type": "string" + }, + "worst": { + "description": "worst possible score", + "type": "string" + } + }, + "required": [ + "value", + "best", + "worst" + ], + "type": "object" + }, + "startDate": { + "description": "start date", + "format": "date", "type": "string" }, - "value": { - "description": "value of the score", + "studyStage": { + "description": "stage of study", + "enum": [ + "primary", + "secondary", + "higher" + ], "type": "string" }, - "worst": { - "description": "worst possible score", + "summary": { + "description": "continous text summarizing the work, time and experiences", "type": "string" } }, "required": [ - "type", - "value", - "best", - "worst" + "entity", + "studyStage", + "startDate" ], "type": "object" }, - "startDate": { - "description": "start date", - "format": "date", - "type": "string" - }, - "studyType": { - "description": "type of study", - "type": "string" - } - }, - "required": [ - "institution", - "area", - "studyType", - "startDate", - "endDate" - ], - "type": "object" + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full education section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "interests": { - "items": { - "additionalProperties": false, - "properties": { - "keywords": { - "description": "keywords of the interest", - "items": { - "type": "string" + "additionalProperties": false, + "description": "language section with summary and list of interests", + "properties": { + "interests": { + "description": "list of interests", + "items": { + "additionalProperties": false, + "properties": { + "keywords": { + "description": "keywords giving context or details about the project", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "name of the interest", + "type": "string" + } }, - "type": "array" + "required": [ + "name" + ], + "type": "object" }, - "name": { - "description": "name of the interest", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full interest section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "languages": { - "description": "list of languages", - "items": { - "additionalProperties": false, - "properties": { - "language": { - "description": "name of language", - "type": "string" - }, - "level": { - "description": "proficiency level for the language", - "enum": [ - "basic", - "conversational", - "fluent", - "native" + "additionalProperties": false, + "description": "language section with summary and list of languages", + "properties": { + "languages": { + "description": "list of languages", + "items": { + "additionalProperties": false, + "properties": { + "language": { + "description": "name of language", + "type": "string" + }, + "level": { + "description": "proficiency level for the language using numerical declaration 1=basic, 2=conversational, 3=fluent, 4=native", + "enum": [ + "1", + "2", + "3", + "4" + ], + "type": "string" + } + }, + "required": [ + "language", + "level" ], - "type": "string" - } + "type": "object" + }, + "type": "array" }, - "required": [ - "language" - ], - "type": "object" + "summary": { + "description": "continous text summarizing or adding context to the full language section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "legal": { - "description": "list of legals", - "items": { - "additionalProperties": false, - "properties": { - "applicationDate": { - "description": "date of the application", - "format": "date", - "type": "string" - }, - "author": { - "type": "string" - }, - "coAuthors": { - "type": "string" - }, - "currentAssignee": { - "type": "string" - }, - "description": { - "description": "a brief description about the document", - "type": "string" - }, - "endDate": { - "description": "end date", - "format": "date", - "type": "string" - }, - "grantDate": { - "description": "date of the grant", - "format": "date", - "type": "string" - }, - "idNumber": { - "description": "application number or Id Number", - "type": "string" - }, - "legalType": { - "description": "type of the document", - "type": "string" - }, - "name": { - "description": "name of the document", - "type": "string" - }, - "previousAssignee": { - "type": "string" - }, - "resources": { - "description": "multiple resources with label", - "items": { - "additionalProperties": false, - "properties": { - "label": { - "description": "label of the resource", - "type": "string" + "additionalProperties": false, + "description": "language section with summary and list of legal items", + "properties": { + "legal": { + "description": "list of legal", + "items": { + "additionalProperties": false, + "properties": { + "applicationDate": { + "description": "date of the application", + "format": "date", + "type": "string" + }, + "coAuthors": { + "description": "co-authors for this legal item", + "items": { + "additionalProperties": false, + "properties": { + "name": { + "description": "full name", + "type": "string" + }, + "url": { + "description": "url to link to mentioned person", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" }, - "url": { - "description": "url of the resource", - "format": "uri", + "type": "array" + }, + "currentAssignee": { + "description": "current entity or individual assigned to the legal item", + "type": "string" + }, + "description": { + "description": "short description about the document", + "type": "string" + }, + "endDate": { + "description": "end date", + "format": "date", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "grantDate": { + "description": "date of the grant", + "format": "date", + "type": "string" + }, + "identifier": { + "description": "labeled identifiers", + "items": { + "additionalProperties": false, + "properties": { + "id": { + "description": "ID/code of the identifier", + "type": "string" + }, + "label": { + "description": "label of the identifier", + "type": "string" + } + }, + "required": [ + "id", + "label" + ], + "type": "object" + }, + "type": "array" + }, + "legalType": { + "description": "type of the document", + "type": "string" + }, + "name": { + "description": "name of the document, patent, copyright assignment or the likes", + "type": "string" + }, + "previousAssignee": { + "description": "previous entity or individual assigned to the legal item", + "type": "string" + }, + "resources": { + "description": "multiple resources with label", + "items": { + "additionalProperties": false, + "properties": { + "label": { + "description": "label of the resource", + "type": "string" + }, + "url": { + "description": "url of the resource", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "label" + ], + "type": "object" + }, + "type": "array" + }, + "roles": { + "description": "specific roles within or around this legal item - author might be assumed as default", + "items": { "type": "string" - } + }, + "type": "array" }, - "required": [ - "url", - "label" - ], - "type": "object" + "summary": { + "description": "summary of achievements", + "type": "string" + } }, - "type": "array" - } + "required": [ + "name", + "entity" + ], + "type": "object" + }, + "type": "array" }, - "required": [ - "name" - ], - "type": "object" + "summary": { + "description": "continous text summarizing or adding context to the full legal section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "meta": { "additionalProperties": false, - "description": "the schema version and any other tooling configuration", + "description": " meta data such as resume version as well as tool provided and generated data/configuration", "properties": { "canonical": { - "description": "URL (as per RFC 3986) to latest version of this document", + "description": "URL (as per RFC 3986) to the latest version of this document", + "format": "uri", "type": "string" }, "lastModified": { @@ -369,6 +716,35 @@ "format": "date-time", "type": "string" }, + "schema": { + "additionalProperties": false, + "description": "empty section for the schema itself to hold tooling relevant data", + "properties": { + "filters": { + "additionalProperties": false, + "description": "empty section the schema itself to add filter data", + "properties": {}, + "type": "object" + }, + "localization": { + "additionalProperties": false, + "description": "empty section to add lolcalization data", + "properties": {}, + "type": "object" + } + }, + "type": "object" + }, + "schemaVersion": { + "description": "version field for used schema which follows semver", + "type": "string" + }, + "tooling": { + "additionalProperties": false, + "description": "empty section for tools to write to in the form of meta.tooling.\u003ctool\u003e.\u003ctool-data-section\u003e", + "properties": {}, + "type": "object" + }, "uuid": { "description": "uuid v4 of the resume", "type": "string" @@ -382,25 +758,31 @@ }, "personal": { "additionalProperties": false, - "description": "sensitive informations", + "description": "sensitive and potentially identifying information - should not be requested or used", "properties": { "birthPlace": { "description": "place of birth", "type": "string" }, "birthday": { - "description": "birthday date", + "description": "date of birthday", "format": "date", "type": "string" }, + "citizenship": { + "description": "country of citizenship", + "type": "string" + }, "currentLocation": { "additionalProperties": false, - "description": "living location", + "description": "current living location", "properties": { "lat": { + "description": "latitude part of a coordinate", "type": "number" }, "long": { + "description": "longitude part of a coordinate", "type": "number" } }, @@ -415,11 +797,16 @@ "format": "idn-email", "type": "string" }, - "gender": { + "identityGender": { + "description": "gender you are optionally identifying with", "type": "string" }, "image": { - "description": "url of the personal photo", + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "legalGender": { + "description": "legal gender", "type": "string" }, "name": { @@ -431,9 +818,11 @@ "description": "permanently living location", "properties": { "lat": { + "description": "latitude part of a coordinate", "type": "number" }, "long": { + "description": "longitude part of a coordinate", "type": "number" } }, @@ -448,10 +837,11 @@ "type": "string" }, "postalAddress": { + "description": "full address useable to send postal mail", "type": "string" }, "profiles": { - "description": "list of social networks", + "description": "list of social/other networks", "items": { "additionalProperties": false, "properties": { @@ -460,7 +850,7 @@ "type": "string" }, "url": { - "description": "url of the profile", + "description": "url of the network profile", "format": "uri", "type": "string" }, @@ -471,19 +861,18 @@ }, "required": [ "network", - "username", - "url" + "username" ], "type": "object" }, "type": "array" }, - "relationshipStatus": { - "description": "civil status", + "pronouns": { + "description": "pronouns you feel comfortable with being used", "type": "string" }, - "summary": { - "description": "a short sentence about yourself", + "relationshipStatus": { + "description": "relevant relationship or civil status", "type": "string" }, "url": { @@ -495,370 +884,647 @@ "type": "object" }, "projects": { - "description": "list of career projects", - "items": { - "additionalProperties": false, - "properties": { - "description": { - "description": "short summary of project", - "type": "string" - }, - "endDate": { - "description": "end date", - "format": "date", - "type": "string" - }, - "entity": { - "description": "relevant company/entity affiliations", - "type": "string" - }, - "highlights": { - "description": "specify multiple features", - "items": { - "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "specify special elements involved", - "items": { - "type": "string" - }, - "type": "array" - }, - "location": { + "additionalProperties": false, + "description": "language section with summary and list of (career-) relevant projects", + "properties": { + "projects": { + "description": "list of projects", + "items": { "additionalProperties": false, - "description": "location of the project", "properties": { - "lat": { - "type": "number" + "description": { + "description": "short description of the project", + "type": "string" }, - "long": { - "type": "number" - } - }, - "required": [ - "lat", - "long" - ], - "type": "object" - }, - "name": { - "description": "name of the project", - "type": "string" - }, - "resources": { - "description": "specify multiple resources with label", - "items": { - "additionalProperties": false, - "properties": { - "label": { - "description": "label of the resource", + "endDate": { + "description": "end date", + "format": "date", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "highlights": { + "description": "important (bullet point) achievements", + "items": { "type": "string" }, - "url": { - "description": "url of the resource", - "format": "uri", + "type": "array" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "keywords": { + "description": "keywords giving context or details about the project", + "items": { "type": "string" - } + }, + "type": "array" }, - "required": [ - "url", - "label" - ], - "type": "object" - }, - "type": "array" - }, - "roles": { - "description": "specify your role on this project", - "items": { - "type": "string" + "location": { + "additionalProperties": false, + "description": "location of the project", + "properties": { + "lat": { + "description": "latitude part of a coordinate", + "type": "number" + }, + "long": { + "description": "longitude part of a coordinate", + "type": "number" + } + }, + "required": [ + "lat", + "long" + ], + "type": "object" + }, + "name": { + "description": "name of the project, contribution, talk or the like", + "type": "string" + }, + "resources": { + "description": "additional linkable resources identified with a label", + "items": { + "additionalProperties": false, + "properties": { + "label": { + "description": "label of the resource", + "type": "string" + }, + "url": { + "description": "url of the resource", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "label" + ], + "type": "object" + }, + "type": "array" + }, + "roles": { + "description": "specific roles within or around this project", + "items": { + "type": "string" + }, + "type": "array" + }, + "startDate": { + "description": "start date", + "format": "date", + "type": "string" + }, + "summary": { + "description": "continous text summarizing the experiences", + "type": "string" + }, + "type": { + "description": "type of the project", + "type": "string" + }, + "url": { + "description": "url of the project", + "format": "uri", + "type": "string" + } }, - "type": "array" - }, - "startDate": { - "format": "date", - "type": "string" - }, - "type": { - "description": "type of the project", - "type": "string" + "required": [ + "name", + "startDate", + "entity" + ], + "type": "object" }, - "url": { - "description": "url of the project", - "format": "uri", - "type": "string" - } - }, - "required": [ - "name", - "startDate" - ], - "type": "object" + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full project section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "publications": { - "description": "list of publications", - "items": { - "additionalProperties": false, - "properties": { - "name": { - "description": "name of the publication", - "type": "string" - }, - "publisher": { - "description": "name of the publisher", - "type": "string" - }, - "publicationDate": { - "description": "date of publication", - "format": "date", - "type": "string" - }, - "resources": { - "description": "multiple resources with label", - "items": { - "additionalProperties": false, - "properties": { - "label": { - "description": "label of the resource", + "additionalProperties": false, + "description": "language section with summary and list of written, spoken or conference publications", + "properties": { + "publications": { + "description": "list of publications", + "items": { + "additionalProperties": false, + "properties": { + "coAuthors": { + "description": "co-authors for this publication", + "items": { + "additionalProperties": false, + "properties": { + "name": { + "description": "full name", + "type": "string" + }, + "url": { + "description": "url to link to mentioned person", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "type": "array" + }, + "description": { + "description": "short description about the publication", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "highlights": { + "description": "important (bullet point) achievements", + "items": { "type": "string" }, - "url": { - "description": "url of the resource", - "format": "uri", + "type": "array" + }, + "identifier": { + "description": "labeled identifiers", + "items": { + "additionalProperties": false, + "properties": { + "id": { + "description": "ID/code of the identifier", + "type": "string" + }, + "label": { + "description": "label of the identifier", + "type": "string" + } + }, + "required": [ + "id", + "label" + ], + "type": "object" + }, + "type": "array" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "description": "name of the publication", + "type": "string" + }, + "publicationDate": { + "description": "date of publication", + "format": "date", + "type": "string" + }, + "resources": { + "description": "additional linkable resources identified with a label", + "items": { + "additionalProperties": false, + "properties": { + "label": { + "description": "label of the resource", + "type": "string" + }, + "url": { + "description": "url of the resource", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "label" + ], + "type": "object" + }, + "type": "array" + }, + "roles": { + "description": "specific roles within or around this publication - author might be assumed as default", + "items": { "type": "string" - } + }, + "type": "array" }, - "required": [ - "url", - "label" - ], - "type": "object" + "summary": { + "description": "continous text summarizing the experiences", + "type": "string" + }, + "url": { + "description": "url of the publication", + "format": "uri", + "type": "string" + } }, - "type": "array" - }, - "summary": { - "description": "short summary of the publication", - "type": "string" + "required": [ + "name", + "entity" + ], + "type": "object" }, - "url": { - "description": "url of the publication", - "format": "uri", - "type": "string" - } - }, - "required": [ - "name", - "publisher" - ], - "type": "object" + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full publication section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "references": { - "description": "list of references", - "items": { - "additionalProperties": false, - "properties": { - "company": { - "description": "company name", - "type": "string" - }, - "name": { - "description": "name of the reference", - "type": "string" - }, - "position": { - "description": "position of reference", - "type": "string" + "additionalProperties": false, + "description": "language section with summary and list of references", + "properties": { + "references": { + "description": "list of references", + "items": { + "additionalProperties": false, + "properties": { + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "name": { + "description": "name of the reference", + "type": "string" + }, + "reference": { + "description": "reference text", + "type": "string" + }, + "role": { + "description": "role/position of the reference at affiliated entity", + "type": "string" + } + }, + "required": [ + "reference", + "entity" + ], + "type": "object" }, - "reference": { - "description": "reference text", - "type": "string" - } - }, - "required": [ - "reference" - ], - "type": "object" + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full reference section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "skills": { - "description": "list of professional skill-sets", - "items": { - "additionalProperties": false, - "properties": { - "keywords": { - "description": "some keywords pertaining to the skill", - "items": { - "type": "string" + "additionalProperties": false, + "description": "language section with summary and list of professional skill-sets", + "properties": { + "skills": { + "description": "list of skills", + "items": { + "additionalProperties": false, + "properties": { + "keywords": { + "description": "keywords giving context or details about the skill", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "name of the skill", + "type": "string" + }, + "proficiency": { + "description": "proficiency level of the skill using numerical declaration 1=beginner, 2=early, 3=competent, 4=advanced, 5=expert", + "enum": [ + "1", + "2", + "3", + "4", + "5" + ], + "type": "string" + } }, - "type": "array" - }, - "name": { - "description": "name of the skill", - "type": "string" - }, - "proficiency": { - "description": "proficiency level of the skill", - "enum": [ - "beginner", - "early", - "competent", - "advanced", - "expert" + "required": [ + "name", + "proficiency" ], - "type": "string" - } - }, - "required": [ - "name", - "proficiency" - ], - "type": "object" + "type": "object" + }, + "type": "array" + }, + "summary": { + "description": "continous text summarizing or adding context to the full skill section", + "type": "string" + } }, - "type": "array" + "type": "object" }, "volunteer": { - "items": { - "additionalProperties": false, - "properties": { - "endDate": { - "description": "end date", - "format": "date", - "type": "string" - }, - "highlights": { - "description": "some of accomplishments", - "items": { - "type": "string" - }, - "type": "array" - }, - "location": { + "additionalProperties": false, + "description": "language section with summary and list of volunteer experiences centered on the volunteer organisation", + "properties": { + "summary": { + "description": "continous text summarizing or adding context to the full volunteer section", + "type": "string" + }, + "volunteer": { + "description": "list of volunteering experiences", + "items": { "additionalProperties": false, - "description": "location of activity", "properties": { - "lat": { - "type": "number" + "endDate": { + "description": "end date", + "format": "date", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "highlights": { + "description": "important (bullet point) achievements", + "items": { + "type": "string" + }, + "type": "array" + }, + "location": { + "additionalProperties": false, + "description": "location of the activity", + "properties": { + "lat": { + "description": "latitude part of a coordinate", + "type": "number" + }, + "long": { + "description": "longitude part of a coordinate", + "type": "number" + } + }, + "required": [ + "lat", + "long" + ], + "type": "object" }, - "long": { - "type": "number" + "resources": { + "description": "additional linkable resources identified with a label", + "items": { + "additionalProperties": false, + "properties": { + "label": { + "description": "label of the resource", + "type": "string" + }, + "url": { + "description": "url of the resource", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "label" + ], + "type": "object" + }, + "type": "array" + }, + "roles": { + "description": "roles/positions or type of the contribution", + "items": { + "type": "string" + }, + "type": "array" + }, + "startDate": { + "description": "start date", + "format": "date", + "type": "string" + }, + "summary": { + "description": "continous text summarizing the experiences", + "type": "string" } }, "required": [ - "lat", - "long" + "roles", + "entity", + "startDate" ], "type": "object" }, - "organization": { - "description": "name of the organization", - "type": "string" - }, - "position": { - "description": "type of the contribution", - "type": "string" - }, - "startDate": { - "description": "start date", - "format": "date", - "type": "string" - }, - "summary": { - "description": "an overview of responsibilities", - "type": "string" - }, - "url": { - "description": "related link to support volunteer experience", - "format": "uri", - "type": "string" - } - }, - "required": [ - "organization", - "position", - "startDate" - ], - "type": "object" + "type": "array" + } }, - "type": "array" + "type": "object" }, "work": { - "items": { - "additionalProperties": false, - "properties": { - "description": { - "description": "companies primary activity", - "type": "string" - }, - "endDate": { - "description": "end date", - "format": "date", - "type": "string" - }, - "highlights": { - "description": "some of accomplishments", - "items": { - "type": "string" - }, - "type": "array" - }, - "location": { + "additionalProperties": false, + "description": "language section with summary and list of work experiences centered on the entity - bigger projects could be showcased using the projects section", + "properties": { + "summary": { + "description": "continous text summarizing or adding context to the full work section", + "type": "string" + }, + "work": { + "description": "list of work experiences", + "items": { "additionalProperties": false, - "description": "location of the company", "properties": { - "lat": { - "type": "number" + "endDate": { + "description": "end date", + "format": "date", + "type": "string" + }, + "entity": { + "additionalProperties": false, + "description": "entity details", + "properties": { + "description": { + "description": "entity's primary activity", + "type": "string" + }, + "image": { + "description": "url or src of an image, photo or logo", + "type": "string" + }, + "name": { + "type": "string" + }, + "url": { + "description": "url of the entity website", + "format": "uri", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "highlights": { + "description": "important (bullet point) achievements", + "items": { + "type": "string" + }, + "type": "array" }, - "long": { - "type": "number" + "location": { + "additionalProperties": false, + "description": "location of the activity", + "properties": { + "lat": { + "description": "latitude part of a coordinate", + "type": "number" + }, + "long": { + "description": "longitude part of a coordinate", + "type": "number" + } + }, + "required": [ + "lat", + "long" + ], + "type": "object" + }, + "roles": { + "description": "concurrent roles/positions at the company", + "items": { + "type": "string" + }, + "type": "array" + }, + "startDate": { + "description": "start date", + "format": "date", + "type": "string" + }, + "summary": { + "description": "continous text summarizing the work, time and experiences", + "type": "string" } }, "required": [ - "lat", - "long" + "roles", + "entity", + "startDate" ], "type": "object" }, - "name": { - "description": "name of company", - "type": "string" - }, - "position": { - "description": "position at the company", - "type": "string" - }, - "startDate": { - "description": "start date", - "format": "date", - "type": "string" - }, - "summary": { - "description": "an overview of responsibilities", - "type": "string" - }, - "url": { - "description": "url of the company website", - "format": "uri", - "type": "string" - } - }, - "required": [ - "name", - "position", - "startDate" - ], - "type": "object" + "type": "array" + } }, - "type": "array" + "type": "object" } }, "required": [ + "$schema", "core", "personal", "work", @@ -869,7 +1535,7 @@ "skills", "awards", "projects", - "certificate", + "certificates", "references", "languages", "interests", @@ -877,4 +1543,4 @@ ], "title": "Resumic resume Schema", "type": "object" -} +} \ No newline at end of file diff --git a/schema/schema.go b/schema/schema.go index 8437308..7e63a16 100644 --- a/schema/schema.go +++ b/schema/schema.go @@ -1,192 +1,313 @@ package schema type locationSchema struct { - Lat float64 `json:"lat" schema:"example:35.712758"` - Long float64 `json:"long" schema:"example:51.392114"` + Lat float64 `json:"lat" schema:"description:latitude part of a coordinate;example:48.1548895"` + Long float64 `json:"long" schema:"description:longitude part of a coordinate;example:11.4717966"` +} + +type areaSchema struct { + Location locationSchema `json:"location" schema:"description:specific location"` + Radius string `json:"radius" schema:"description:radius denoting the area around a location;example:5km"` } type scoreSchema struct { - Type string `json:"type" schema:"description:type of the score;example:GPA"` Value string `json:"value" schema:"description:value of the score;example:3.4"` Best string `json:"best" schema:"description:best possible score;example:4"` Worst string `json:"worst" schema:"description:worst possible score;example:0"` + Label string `json:"label,omitempty" schema:"description:label/type of the score;example:GPA"` } type resourceSchema struct { URL string `json:"url" schema:"description:url of the resource;format:uri;example:http://www.example.com/my-example-slides/"` - Label string `json:"label" schema:"description:label of the resource;example:Slides;example:Slides"` + Label string `json:"label" schema:"description:label of the resource;example:Slides"` } type profileSchema struct { - Network string `json:"network" schema:"description:name of the network;example:github"` + Network string `json:"network" schema:"description:name of the network;example:Github"` Username string `json:"username" schema:"description:username in the network;example:john_doe"` - URL string `json:"url" schema:"description:url of the profile;format:uri;example:https://github.com/john_doe"` + URL string `json:"url,omitempty" schema:"description:url of the network profile;format:uri;example:https://github.com/john_doe"` +} + +type peopleSchema struct { + Name string `json:"name" schema:"description:full name;example:John Doe"` + URL string `json:"url,omitempty" schema:"description:url to link to mentioned person;format:uri;example:https://linkedin.com/john_doe"` +} + +type idSchema struct { + ID string `json:"id" schema:"description:ID/code of the identifier;example:10.1000/182"` + Label string `json:"label" schema:"description:label of the identifier;example:DOI"` } type coreSchema struct { - Title string `json:"title,omitempty" schema:"description:job title;example:Software Engineer"` - WorkArea string `json:"workArea,omitempty" schema:"description:work area which could be city or country or even remote;example:Munich Citycenter + 20kms"` - LivingArea string `json:"livingArea,omitempty" schema:"description:living area which could be city or country or even continent;example:Germany"` + Title string `json:"title,omitempty" schema:"description:job title;example:Software Engineer"` + LivingArea areaSchema `json:"livingArea,omitempty" schema:"description:living area which could be city or country or even continent"` + Disposition dispositionSchema `json:"disposition,omitempty" schema:"description: disposition or desire for work engagements"` + Summary string `json:"summary,omitempty" schema:"description:write a short biography about you and your achievements optionally in relation to your current application;example:Passionate individual looking for my next xyz challenge"` +} + +type dispositionSchema struct { + TravelTime string `json:"travelTime,omitempty" schema:"description:percentage of time willing to travel;example:25"` + Authorizations []string `json:"authorization,omitempty" schema:"description:authorizations such as work and travel visa and residencies;items_example:US Permanent Resident Card"` + CommitmentType string `json:"commitmentType,omitempty" schema:"description:types of work commitements desired such as fulltime, part-time, contract, permanent etc.;items_example:contract"` + Remote bool `json:"remote,omitempty" schema:"description:desire to work remotely;example:true"` + WorkArea areaSchema `json:"workArea,omitempty" schema:"description:work area which could be city or country or even remote"` + Relocation relocationSchema `json:"relocation,omitempty" schema:"description:relocation preferences such as willingness and location"` +} + +type relocationSchema struct { + Willingness bool `json:"willingness,omitempty" schema:"description:willingness to relocate;example:true"` + Area string `json:"area,omitempty" schema:"description:work area which could be city or country or language area;example:English Speaking Countries"` +} + +type entitySchema struct { + Name string `json:"name" schema:"name of the institute, company or such;example:Entity of Things"` + Description string `json:"description,omitempty" schema:"description:entity's primary activity;example:A good things entity"` + URL string `json:"url,omitempty" schema:"description:url of the entity website;format:uri;example:http://xyz.example.com"` + Image string `json:"image,omitempty" schema:"description:url or src of an image, photo or logo;example:https://resumic.org/assets/entity.svg"` } type personalSchema struct { Name string `json:"name,omitempty" schema:"description:full name;example:John Doe"` - Gender string `json:"gender,omitempty" schema:"example:male"` - Image string `json:"image,omitempty" schema:"description:url of the personal photo;example:example.com/Abcxyz"` + LegalGender string `json:"legalGender,omitempty" schema:"description:legal gender;example:male"` + IdentityGender string `json:"identityGender,omitempty" schema:"description:gender you are optionally identifying with;example:male"` + Pronouns string `json:"pronouns,omitempty" schema:"description:pronouns you feel comfortable with being used;example:they/their/them"` Email string `json:"email,omitempty" schema:"description:email address;format:idn-email;example:lucas@example.com"` Phone string `json:"phone,omitempty" schema:"description:phone number;example:912-217-7923"` - URL string `json:"url,omitempty" schema:"description:homepage url;format:uri;example:http://www.example.com/"` - Summary string `json:"summary,omitempty" schema:"description:a short sentence about yourself;example:The man who sold the world!"` - CurrentLocation locationSchema `json:"currentLocation,omitempty" schema:"description:living location"` + CurrentLocation locationSchema `json:"currentLocation,omitempty" schema:"description:current living location"` PermanentLocation locationSchema `json:"permanentLocation,omitempty" schema:"description:permanently living location"` - Birthday string `json:"birthday,omitempty" schema:"description:birthday date;format:date;example:1995-02-14"` + Birthday string `json:"birthday,omitempty" schema:"description:date of birthday;format:date;example:1995-02-14"` BirthPlace string `json:"birthPlace,omitempty" schema:"description:place of birth;example:Munich"` - Profiles []profileSchema `json:"profiles,omitempty" schema:"description:list of social networks"` - RelationshipStatus string `json:"relationshipStatus,omitempty" schema:"description:civil status;example:married"` - PostalAddress string `json:"postalAddress,omitempty" schema:"example:John Doe, Wittekindshof, Schulstrasse 4, 32547 Bad Oyenhausen, Germany"` + Citizenship string `json:"citizenship,omitempty" schema:"description:country of citizenship;example:Germany"` + Profiles []profileSchema `json:"profiles,omitempty" schema:"description:list of social/other networks"` + RelationshipStatus string `json:"relationshipStatus,omitempty" schema:"description:relevant relationship or civil status;example:married"` + PostalAddress string `json:"postalAddress,omitempty" schema:"description:full address useable to send postal mail;example:John Doe, Wittekindshof, Schulstrasse 4, 32547 Bad Oyenhausen, Germany"` + URL string `json:"url,omitempty" schema:"description:homepage url;format:uri;example:http://www.example.com/"` + Image string `json:"image,omitempty" schema:"description:url or src of an image, photo or logo;example:https://resumic.org/assets/profile.svg"` } type workSchema struct { - Name string `json:"name" schema:"description:name of company;example:XYZ Inc"` - Description string `json:"description,omitempty" schema:"description:companies primary activity;example:A social media company"` - Position string `json:"position" schema:"description:position at the company;example:Software Engineer"` - Location locationSchema `json:"location,omitempty" schema:"description:location of the company"` - URL string `json:"url,omitempty" schema:"description:url of the company website;format:uri;example:http://xyz.example.com"` - StartDate string `json:"startDate" schema:"description:start date;format:date;example:2017-12-29"` - EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2018-12-29"` - Summary string `json:"summary,omitempty" schema:"description:an overview of responsibilities;example:Developing and maintaining the company website using syna"` - Highlights []string `json:"highlights,omitempty" schema:"description:some of accomplishments;items_example:Worked with mobile team at Twitter to develop remote debugging tools for mobile browsers"` + Work []workItemSchema `json:"work,omitempty" schema:"description:list of work experiences"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full work section;example:My general work experience was interrupted by a new educational experience, which now enables me to do even more."` +} + +type workItemSchema struct { + Roles []string `json:"roles" schema:"description:concurrent roles/positions at the company;items_example:Software Engineer"` + Entity entitySchema `json:"entity" schema:"description:entity details"` + StartDate string `json:"startDate" schema:"description:start date;format:date;example:2017-12-29"` + EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2018-12-29"` + Location locationSchema `json:"location,omitempty" schema:"description:location of the activity"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing the work, time and experiences;example:The work with company XYZ was a great experience taking my knowledge accumulation to new heights. The remote team setup made me aware of my love for remote working."` + Highlights []string `json:"highlights,omitempty" schema:"description:important (bullet point) achievements;items_example:Worked with mobile team at Twitter to develop remote debugging tools for mobile browsers"` } type educationSchema struct { - Institution string `json:"institution" schema:"name of institute;example:XYZ Institute of Technology"` - Location locationSchema `json:"location,omitempty" schema:"description:location of institution"` - Area string `json:"area" schema:"description:area of study;example:Engineering"` - StudyType string `json:"studyType" schema:"description:type of study;example:Bachelor"` - StartDate string `json:"startDate" schema:"description:start date;format:date;example:2017-06-28"` - EndDate string `json:"endDate,omitepmty" schema:"description:end date;format:date;example:2013-06-28"` - Score scoreSchema `json:"score,omitempty"` - Courses []string `json:"courses,omitempty" schema:"description:notable courses/subjects;items_example:CS302 - Introduction to Algorithms"` - Honors []string `json:"honors,omitempty" schema:"description:some education honours;items_example:Magna Cum Laude"` - Highlights []string `json:"highlights,omitempty" schema:"description:some of accomplishments;items_example:Live abroad within a new culture"` + Education []educationItemSchema `json:"education,omitempty" schema:"description:list of education experiences"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full education section;example:My diverse education gives me an additional context in my area of work."` +} + +type educationItemSchema struct { + Degree string `json:"degree,omitempty" schema:"description:final or persuing degree;example:Bachelor of Science"` + Area string `json:"area,omitempty" schema:"description:area of study;example:Engineering"` + Entity entitySchema `json:"entity" schema:"description:entity details"` + StudyStage string `json:"studyStage" schema:"description:stage of study;enum:primary,secondary,higher;example:higher"` + StartDate string `json:"startDate" schema:"description:start date;format:date;example:2017-06-28"` + EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2013-06-28"` + Location locationSchema `json:"location,omitempty" schema:"description:location of the activity"` + Score scoreSchema `json:"score,omitempty"` + Honors []string `json:"honors,omitempty" schema:"description:specific honors;items_example:Magna Cum Laude"` + Courses []string `json:"courses,omitempty" schema:"description:notable courses/subjects;items_example:CS302 - Introduction to Algorithms"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing the work, time and experiences;example:My studies with institute XYZ was a great experience taking my knowledge accumulation to new heights. The campus live not only enabled meeting new friends, but to build out my network."` + Highlights []string `json:"highlights,omitempty" schema:"description:important (bullet point) achievements;items_example:Live abroad within a new culture"` } type volunteerSchema struct { - Organization string `json:"organization" schema:"description:name of the organization;example:Xyz"` - Position string `json:"position" schema:"description:type of the contribution;example:Open Source Contributor"` - Location locationSchema `json:"location,omitempty" schema:"description:location of activity"` - URL string `json:"url,omitempty" schema:"description:related link to support volunteer experience;format:uri;example:http://xyz.example.com"` - StartDate string `json:"startDate" schema:"description:start date;format:date;example:2014-06-29"` - EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2017-06-29"` - Summary string `json:"summary,omitempty" schema:"description:an overview of responsibilities;example:Frontend developer"` - Highlights []string `json:"highlights,omitempty" schema:"description:some of accomplishments;items_example:Invited as a speaker in Xyzcon'17"` + Volunteer []volunteerItemSchema `json:"volunteer,omitempty" schema:"description:list of volunteering experiences"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full volunteer section;example:Creating positive change is not only important in my professional life, but also in my private life and I do my best to help and volunteer."` +} + +type volunteerItemSchema struct { + Roles []string `json:"roles" schema:"description:roles/positions or type of the contribution;items_example:Open Source Contributor"` + Entity entitySchema `json:"entity" schema:"description:entity details"` + StartDate string `json:"startDate" schema:"description:start date;format:date;example:2014-06-29"` + EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2017-06-29"` + Location locationSchema `json:"location,omitempty" schema:"description:location of the activity"` + Resources []resourceSchema `json:"resources,omitempty" schema:"description:additional linkable resources identified with a label"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing the experiences;example:Doing accounting work to keep things afloat."` + Highlights []string `json:"highlights,omitempty" schema:"description:important (bullet point) achievements;items_example:Set up huge donor run"` } type publicationSchema struct { + Publications []publicationItemSchema `json:"publications,omitempty" schema:"description:list of publications"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full publication section;example:Thanks to my co-Authors and the willing reviewers my publications far surpass my imaginations."` +} + +type publicationItemSchema struct { Name string `json:"name" schema:"description:name of the publication;example:Deep learning and Artificial Intelligence"` - Publisher string `json:"publisher" schema:"description:name of the publisher;example:XYZ, Computer Magazine"` + Description string `json:"description,omitempty" schema:"description:short description about the publication;example:Discussion of the advent of deep learning and artificial intelligence"` + Entity entitySchema `json:"entity" schema:"description:entity details"` PublicationDate string `json:"publicationDate,omitempty" schema:"description:date of publication;format:date;example:2015-08-01"` - Resources []resourceSchema `json:"resources,omitempty" schema:"description:multiple resources with label"` + Roles []string `json:"roles,omitempty" schema:"description:specific roles within or around this publication - author might be assumed as default;items_example:Reviewer"` + CoAuthors []peopleSchema `json:"coAuthors,omitempty" schema:"description:co-authors for this publication"` + Identifier []idSchema `json:"identifier,omitempty" schema:"description:labeled identifiers"` URL string `json:"url,omitempty" schema:"description:url of the publication;format:uri;example:http://www.computer.org.example.com/csdl/mags/co/2015/10/rx069-abs.html"` - Summary string `json:"summary,omitempty" schema:"description:short summary of the publication;example:Discussion of the advent of deep learning and artificial intelligence"` + Image string `json:"image,omitempty" schema:"description:url or src of an image, photo or logo;example:https://resumic.org/assets/publication.svg"` + Resources []resourceSchema `json:"resources,omitempty" schema:"description:additional linkable resources identified with a label"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing the experiences;example:Writing this publication opened up a huge wave of new research areas. The work together with was the highlight of my research in the field of AI."` + Highlights []string `json:"highlights,omitempty" schema:"description:important (bullet point) achievements;items_example:Changed how we see the world"` } type legalSchema struct { - Name string `json:"name" schema:"description:name of the document;example:XYZ's patent on LZW compression, a fundamental part of the widely used GIF graphics format"` + Legal []legalItemSchema `json:"legal,omitempty" schema:"description:list of legal"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full legal section;example:As a hobby inventor I was able to amass a wide variety of copyright, patent and other legal objects."` +} + +type legalItemSchema struct { + Name string `json:"name" schema:"description:name of the document, patent, copyright assignment or the likes;example:XYZ's patent on LZW compression, a fundamental part of the widely used GIF graphics format"` + Description string `json:"description,omitempty" schema:"description:short description about the document;example:Some legal document!"` + Entity entitySchema `json:"entity" schema:"description:entity details"` LegalType string `json:"legalType,omitempty" schema:"description:type of the document;example:Patent, Trademark, Copyright"` - Description string `json:"description,omitempty" schema:"description:a brief description about the document;example:Some legal document!"` ApplicationDate string `json:"applicationDate,omitempty" schema:"description:date of the application;format:date;example:2015-08-01"` GrantDate string `json:"grantDate,omitempty" schema:"description:date of the grant;format:date;example:2016-09-01"` EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2020-09-03"` Resources []resourceSchema `json:"resources,omitempty" schema:"description:multiple resources with label"` - IDNumber string `json:"idNumber,omitempty" schema:"description:application number or Id Number;example:JP2004369746A"` - CurrentAssignee string `json:"currentAssignee,omitempty" schema:"example:John Doe"` - PreviousAssignee string `json:"previousAssignee,omitempty" schema:"example:John Doe"` - Author string `json:"author,omitempty" schema:"example:John Doe"` - CoAuthors string `json:"coAuthors,omitempty" schema:"example:John Doe"` + Identifier []idSchema `json:"identifier,omitempty" schema:"description:labeled identifiers"` + CurrentAssignee string `json:"currentAssignee,omitempty" schema:"description:current entity or individual assigned to the legal item;example:John Doe"` + PreviousAssignee string `json:"previousAssignee,omitempty" schema:"description:previous entity or individual assigned to the legal item;example:John Doe"` + Roles []string `json:"roles,omitempty" schema:"description:specific roles within or around this legal item - author might be assumed as default;items_example:Reviewer"` + CoAuthors []peopleSchema `json:"coAuthors,omitempty" schema:"description:co-authors for this legal item"` + Summary string `json:"summary,omitempty" schema:"description:summary of achievements;example:Build out onboarding process as core maintainer"` } type skillSchema struct { + Skills []skillItemSchema `json:"skills,omitempty" schema:"description:list of skills"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full skill section;example:My passion for figuring out things brings me to discover and learn new skills. I only listed only the most relevant skills. Please reach out for any further questions."` +} + +type skillItemSchema struct { Name string `json:"name" schema:"description:name of the skill;example:Web Development"` - Proficiency string `json:"proficiency" schema:"description:proficiency level of the skill;enum:beginner,early,competent,advanced,expert;example:advanced"` - Keywords []string `json:"keywords,omitempty" schema:"description:some keywords pertaining to the skill;items_example:HTML"` + Proficiency string `json:"proficiency" schema:"description:proficiency level of the skill using numerical declaration 1=beginner, 2=early, 3=competent, 4=advanced, 5=expert;enum:1,2,3,4,5;example:4"` + Keywords []string `json:"keywords,omitempty" schema:"description:keywords giving context or details about the skill;items_example:HTML"` } type awardSchema struct { - Title string `json:"title" schema:"description:title of the award;example:Awarded Software Process Achievement Award"` - Date string `json:"date" schema:"description:date of the award;format:date;example:2016-06-12"` - Awarder string `json:"awarder" schema:"description:name of the awarder;example:IEEE"` - Summary string `json:"summary,omitempty" schema:"description:reason of the award;example:Received for my work in Deep learning and AI"` + Awards []awardItemSchema `json:"awards,omitempty" schema:"description:list of awards"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full award section;example:Most awards are of honory mention, but I personally want to point out Award XYZ as it is one of my most precious ones."` +} + +type awardItemSchema struct { + Name string `json:"name" schema:"description:name of the award;example:Nobel Peace Prize"` + Description string `json:"description,omitempty" schema:"description:short description about the award;example:slightly known award for supposedly doing the good fight"` + Date string `json:"date" schema:"description:date of the award;format:date;example:2016-06-12"` + Entity entitySchema `json:"entity" schema:"description:entity details;"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing the experiences;example:Due to my long time work on preventing harm, I was lucky to be awarded the Nobel Peace Prize."` } type projectSchema struct { - Name string `json:"name" schema:"description:name of the project;example:File Transfer application"` - Location locationSchema `json:"location,omitempty" schema:"description:location of the project"` - Description string `json:"description,omitempty" schema:"description:short summary of project;example:Developed a client and server based application"` - Highlights []string `json:"highlights,omitempty" schema:"description:specify multiple features;items_example:used Java AWT and Swing for client side userinterface"` - Keywords []string `json:"keywords,omitempty" schema:"description:specify special elements involved;items_example:Java"` - StartDate string `json:"startDate" schema:"start date;format:date;example:2016-06-29"` + Projects []projectItemSchema `json:"projects,omitempty" schema:"description:list of projects"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full project section;example:Most of my projects are work related and can't be shown extensively. I'm happy to talk about them in detail on a call."` +} + +type projectItemSchema struct { + Name string `json:"name" schema:"description:name of the project, contribution, talk or the like;example: Resumic"` + Description string `json:"description,omitempty" schema:"description:short description of the project;example:Open CV standard"` + StartDate string `json:"startDate" schema:"description:start date;format:date;example:2016-06-29"` EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2017-03-02"` - Resources []resourceSchema `json:"resources,omitempty" schema:"description:specify multiple resources with label"` + Roles []string `json:"roles,omitempty" schema:"description:specific roles within or around this project;items_example:Team Lead"` + Entity entitySchema `json:"entity" schema:"description:entity details"` + Type string `json:"type,omitempty" schema:"description:type of the project;example:open source|volunteering|hobby"` + Location locationSchema `json:"location,omitempty" schema:"description:location of the project"` URL string `json:"url,omitempty" schema:"description:url of the project;format:uri;example:http://www.example.org/csdl/mags/co/1996/10/rx069-abs.html"` - Roles []string `json:"roles,omitempty" schema:"description:specify your role on this project;items_example:Team Lead"` - Entity string `json:"entity,omitempty" schema:"description:relevant company/entity affiliations;example:greenpeace"` - Type string `json:"type,omitempty" schema:"description:type of the project;example:volunteering"` + Image string `json:"image,omitempty" schema:"description:url or src of an image, photo or logo;example:https://resumic.org/assets/project.svg"` + Resources []resourceSchema `json:"resources,omitempty" schema:"description:additional linkable resources identified with a label"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing the experiences;example:Starting a new CV standard to create a new CV was definitely not the most efficient use of time."` + Highlights []string `json:"highlights,omitempty" schema:"description:important (bullet point) achievements;items_example:Used by a broad community"` + Keywords []string `json:"keywords,omitempty" schema:"description:keywords giving context or details about the project;items_example:JSON"` } type certificateSchema struct { - Code string `json:"code,omitempty" schema:"description:code of the certificate;example:1Z0-062"` - Name string `json:"name" schema:"description:name of the certificate;example:XYZ Certified Application Specialist (MCAS)"` - Website string `json:"website,omitempty" schema:"description:link to issuing authority's description of the certificate;format:uri;example:http://www.example.org"` - Verification string `json:"verification,omitempty" schema:"description:external candidate verification URL;format:uri;example:http://www.example.org"` - GrantDate string `json:"grantDate,omitempty" schema:"description:date of the grant;format:date;example:2017-06-29"` - Score scoreSchema `json:"score,omitempty" schema:"description:exam score"` - EndDate string `json:"endDate,omitempty" schema:"description:end date of certificate;format:date;example:2017-06-29"` - DoesNotExpire bool `json:"doesNotExpire,omitempty" schema:"example:true"` + Certificates []certificateItemSchema `json:"certificates,omitempty" schema:"description:list of certificates"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full certificate section;example:Personally prefer the technology over specific certificates, but happy to take additional certification exams to validate my experiences."` +} + +type certificateItemSchema struct { + Name string `json:"name" schema:"description:name of the certificate;example:XYZ Certified Application Specialist (MCAS)"` + Description string `json:"description,omitempty" schema:"description:short description of the certificate;example:software application specialization certificate"` + Entity entitySchema `json:"entity" schema:"description:entity details"` + StartDate string `json:"startDate,omitempty" schema:"description:start date;format:date;example:2017-06-29"` + EndDate string `json:"endDate,omitempty" schema:"description:end date;format:date;example:2017-06-29"` + Code string `json:"code,omitempty" schema:"description:code of the certificate;example:1Z0-062"` + Score scoreSchema `json:"score,omitempty" schema:"description:exam score"` + VerificationURL string `json:"verification,omitempty" schema:"description:public certificate verification URL;format:uri;example:https://www.coursera.org/account/accomplishments/verify/XYZ"` + Perpetual string `json:"perpetual,omitempty" schema:"description:validity status being perpetual or not;example:true"` + Image string `json:"image,omitempty" schema:"description:url or src of a certification badge or another related image;example:https://resumic.org/assets/certificate.svg"` } type referenceSchema struct { - Name string `json:"name,omitempty" schema:"description:name of the reference;example:Stephan Mark"` - Company string `json:"company,omitempty" schema:"description:company name;example:Xyz"` - Position string `json:"position,omitempty" schema:"description:position of reference;example:Senior Software Engineer"` - Reference string `json:"reference" schema:"description:reference text;example: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."` + References []referenceItemSchema `json:"references,omitempty" schema:"description:list of references"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full reference section;example:My references are great due to specific items. For contact details about my references please reach out directly"` +} + +type referenceItemSchema struct { + Name string `json:"name,omitempty" schema:"description:name of the reference;example:Stephan Mark"` + Reference string `json:"reference" schema:"description:reference text;example: Person was a great employee, who turned up to work at least once a week. He exceeded my expectations when it came to doing nothing."` + Entity entitySchema `json:"entity" schema:"description:entity details"` + Role string `json:"role,omitempty" schema:"description:role/position of the reference at affiliated entity;example:Senior Software Engineer"` } type languageSchema struct { - Language string `json:"language,omitepty" schema:"description:name of language;example:English"` - Level string `json:"level,omitempty" schema:"description:proficiency level for the language;enum:basic,conversational,fluent,native;example:fluent"` + Languages []languageItemSchema `json:"languages,omitempty" schema:"description:list of languages"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full language section;example:Due to an extended time in a country my fluency is great."` +} + +type languageItemSchema struct { + Language string `json:"language" schema:"description:name of language;example:English"` + Level string `json:"level" schema:"description:proficiency level for the language using numerical declaration 1=basic, 2=conversational, 3=fluent, 4=native;enum:1,2,3,4;example:1"` } type interestSchema struct { + Interests []interestItemSchema `json:"interests,omitempty" schema:"description:list of interests"` + Summary string `json:"summary,omitempty" schema:"description:continous text summarizing or adding context to the full interest section;example:My interest give me the necessary downtime to balance work and family obligations."` +} + +type interestItemSchema struct { Name string `json:"name" schema:"description:name of the interest;example:Machine Learning"` - Keywords []string `json:"keywords,omitempty" schema:"description:keywords of the interest;items_example:Neural Networks"` + Keywords []string `json:"keywords,omitempty" schema:"description:keywords giving context or details about the project;items_example:Neural Networks"` } type metaSchema struct { - Canonical string `json:"canonical,omitempty" schema:"description:URL (as per RFC 3986) to latest version of this document"` - Version string `json:"version,omitempty" schema:"description:version field which follows semver;example:v1.0.0"` - LastModified string `json:"lastModified,omitempty" schema:"description:date-time of last modified;format:date-time;example:2017-06-29T15:53:01+01:00"` - UUID string `json:"uuid,omitempty" schema:"description:uuid v4 of the resume;example:078c39ce-23ee-4970-9637-c07379132dce"` + Canonical string `json:"canonical,omitempty" schema:"description:URL (as per RFC 3986) to the latest version of this document;format:uri;example:http://example.org/my-resume.json"` + Version string `json:"version,omitempty" schema:"description:version field which follows semver;example:v1.0.0"` + LastModified string `json:"lastModified,omitempty" schema:"description:date-time of last modified;format:date-time;example:2017-06-29T15:53:01+01:00"` + UUID string `json:"uuid,omitempty" schema:"description:uuid v4 of the resume;example:078c39ce-23ee-4970-9637-c07379132dce"` + Tooling struct{} `json:"tooling,omitempty" schema:"description:empty section for tools to write to in the form of meta.tooling.."` + Schema schemaToolSchema `json:"schema,omitempty" schema:"description:empty section for the schema itself to hold tooling relevant data"` + SchemaVersion string `json:"schemaVersion,omitempty" schema:"description:version field for used schema which follows semver;example:v1.0.0"` +} + +type schemaToolSchema struct { + Filters struct{} `json:"filters,omitempty" schema:"description:empty section the schema itself to add filter data"` + Localization struct{} `json:"localization,omitempty" schema:"description:empty section to add lolcalization data"` } -// Schema is the struct which jsonschema, uischema, and example are generated from. -// This package will use `schema` tags to generate this information. Also, it -// is important to note the `ui:order` in uischema is generated based on the +// Schema is the struct which schema.json, ui-schema.json, and schema-example.json are generated from. +// This package will use `schema` tags to generate this information. +// It is important to note the `ui:order` in uischema is generated based on the // properties order in the struct. type Schema struct { - Core coreSchema `json:"core"` - Personal personalSchema `json:"personal" schema:"description:sensitive informations"` - Work []workSchema `json:"work"` - Education []educationSchema `json:"education"` - Volunteer []volunteerSchema `json:"volunteer"` - Publications []publicationSchema `json:"publications" schema:"description:list of publications"` - Legal []legalSchema `json:"legal" schema:"description:list of legals"` - Skills []skillSchema `json:"skills" schema:"description:list of professional skill-sets"` - Awards []awardSchema `json:"awards" schema:"description:list of awards have been received"` - Projects []projectSchema `json:"projects" schema:"description:list of career projects"` - Certificates []certificateSchema `json:"certificate"` - References []referenceSchema `json:"references" schema:"description:list of references"` - Languages []languageSchema `json:"languages" schema:"description:list of languages"` - Interests []interestSchema `json:"interests"` - Meta metaSchema `json:"meta" schema:"description:the schema version and any other tooling configuration"` + Schema string `json:"$schema" schema:"description:url of JSON Schema used for validation;format:uri;example:https://schema.resumic.org/latest.json"` + Core coreSchema `json:"core" schema:"description:core non identifying facts"` + Personal personalSchema `json:"personal" schema:"description:sensitive and potentially identifying information - should not be requested or used"` + Work workSchema `json:"work" schema:"description:language section with summary and list of work experiences centered on the entity - bigger projects could be showcased using the projects section"` + Education educationSchema `json:"education" schema:"description:language section with summary and list of the education"` + Volunteer volunteerSchema `json:"volunteer" schema:"description:language section with summary and list of volunteer experiences centered on the volunteer organisation"` + Publications publicationSchema `json:"publications" schema:"description:language section with summary and list of written, spoken or conference publications"` + Legal legalSchema `json:"legal" schema:"description:language section with summary and list of legal items"` + Skills skillSchema `json:"skills" schema:"description:language section with summary and list of professional skill-sets"` + Awards awardSchema `json:"awards" schema:"description:language section with summary and list of received awards"` + Projects projectSchema `json:"projects" schema:"description:language section with summary and list of (career-) relevant projects"` + Certificates certificateSchema `json:"certificates" schema:"description:language section with summary and list of certificates and permits"` + References referenceSchema `json:"references" schema:"description:language section with summary and list of references"` + Languages languageSchema `json:"languages" schema:"description:language section with summary and list of languages"` + Interests interestSchema `json:"interests" schema:"description:language section with summary and list of interests"` + Meta metaSchema `json:"meta" schema:"description: meta data such as resume version as well as tool provided and generated data/configuration"` } diff --git a/ui-schema.json b/ui-schema.json new file mode 100644 index 0000000..79638d3 --- /dev/null +++ b/ui-schema.json @@ -0,0 +1,1148 @@ +{ + "$schema": { + "ui:placeholder": "https://schema.resumic.org/latest.json" + }, + "awards": { + "awards": { + "items": { + "date": { + "ui:placeholder": "2016-06-12" + }, + "description": { + "ui:placeholder": "slightly known award for supposedly doing the good fight" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "name": { + "ui:placeholder": "Nobel Peace Prize" + }, + "summary": { + "ui:placeholder": "Due to my long time work on preventing harm, I was lucky to be awarded the Nobel Peace Prize." + }, + "ui:order": [ + "name", + "description", + "date", + "entity", + "summary" + ] + } + }, + "summary": { + "ui:placeholder": "Most awards are of honory mention, but I personally want to point out Award XYZ as it is one of my most precious ones." + }, + "ui:order": [ + "awards", + "summary" + ] + }, + "certificates": { + "certificates": { + "items": { + "code": { + "ui:placeholder": "1Z0-062" + }, + "description": { + "ui:placeholder": "software application specialization certificate" + }, + "endDate": { + "ui:placeholder": "2017-06-29" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/certificate.svg" + }, + "name": { + "ui:placeholder": "XYZ Certified Application Specialist (MCAS)" + }, + "perpetual": { + "ui:placeholder": "true" + }, + "score": { + "best": { + "ui:placeholder": "4" + }, + "label": { + "ui:placeholder": "GPA" + }, + "ui:order": [ + "value", + "best", + "worst", + "label" + ], + "value": { + "ui:placeholder": "3.4" + }, + "worst": { + "ui:placeholder": "0" + } + }, + "startDate": { + "ui:placeholder": "2017-06-29" + }, + "ui:order": [ + "name", + "description", + "entity", + "startDate", + "endDate", + "code", + "score", + "verification", + "perpetual", + "image" + ], + "verification": { + "ui:placeholder": "https://www.coursera.org/account/accomplishments/verify/XYZ" + } + } + }, + "summary": { + "ui:placeholder": "Personally prefer the technology over specific certificates, but happy to take additional certification exams to validate my experiences." + }, + "ui:order": [ + "certificates", + "summary" + ] + }, + "core": { + "disposition": { + "authorization": { + "items": { + "ui:placeholder": "US Permanent Resident Card" + } + }, + "commitmentType": {}, + "relocation": { + "area": { + "ui:placeholder": "English Speaking Countries" + }, + "ui:order": [ + "willingness", + "area" + ], + "willingness": { + "ui:placeholder": "true" + } + }, + "remote": { + "ui:placeholder": "true" + }, + "travelTime": { + "ui:placeholder": "25" + }, + "ui:order": [ + "travelTime", + "authorization", + "commitmentType", + "remote", + "workArea", + "relocation" + ], + "workArea": { + "location": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "radius": { + "ui:placeholder": "5km" + }, + "ui:order": [ + "location", + "radius" + ] + } + }, + "livingArea": { + "location": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "radius": { + "ui:placeholder": "5km" + }, + "ui:order": [ + "location", + "radius" + ] + }, + "summary": { + "ui:placeholder": "Passionate individual looking for my next xyz challenge" + }, + "title": { + "ui:placeholder": "Software Engineer" + }, + "ui:order": [ + "title", + "livingArea", + "disposition", + "summary" + ] + }, + "education": { + "education": { + "items": { + "area": { + "ui:placeholder": "Engineering" + }, + "courses": { + "items": { + "ui:placeholder": "CS302 - Introduction to Algorithms" + } + }, + "degree": { + "ui:placeholder": "Bachelor of Science" + }, + "endDate": { + "ui:placeholder": "2013-06-28" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "highlights": { + "items": { + "ui:placeholder": "Live abroad within a new culture" + } + }, + "honors": { + "items": { + "ui:placeholder": "Magna Cum Laude" + } + }, + "location": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "score": { + "best": { + "ui:placeholder": "4" + }, + "label": { + "ui:placeholder": "GPA" + }, + "ui:order": [ + "value", + "best", + "worst", + "label" + ], + "value": { + "ui:placeholder": "3.4" + }, + "worst": { + "ui:placeholder": "0" + } + }, + "startDate": { + "ui:placeholder": "2017-06-28" + }, + "studyStage": { + "ui:placeholder": "higher" + }, + "summary": { + "ui:placeholder": "My studies with institute XYZ was a great experience taking my knowledge accumulation to new heights. The campus live not only enabled meeting new friends, but to build out my network." + }, + "ui:order": [ + "degree", + "area", + "entity", + "studyStage", + "startDate", + "endDate", + "location", + "score", + "honors", + "courses", + "summary", + "highlights" + ] + } + }, + "summary": { + "ui:placeholder": "My diverse education gives me an additional context in my area of work." + }, + "ui:order": [ + "education", + "summary" + ] + }, + "interests": { + "interests": { + "items": { + "keywords": { + "items": { + "ui:placeholder": "Neural Networks" + } + }, + "name": { + "ui:placeholder": "Machine Learning" + }, + "ui:order": [ + "name", + "keywords" + ] + } + }, + "summary": { + "ui:placeholder": "My interest give me the necessary downtime to balance work and family obligations." + }, + "ui:order": [ + "interests", + "summary" + ] + }, + "languages": { + "languages": { + "items": { + "language": { + "ui:placeholder": "English" + }, + "level": { + "ui:placeholder": "1" + }, + "ui:order": [ + "language", + "level" + ] + } + }, + "summary": { + "ui:placeholder": "Due to an extended time in a country my fluency is great." + }, + "ui:order": [ + "languages", + "summary" + ] + }, + "legal": { + "legal": { + "items": { + "applicationDate": { + "ui:placeholder": "2015-08-01" + }, + "coAuthors": { + "items": { + "name": { + "ui:placeholder": "John Doe" + }, + "ui:order": [ + "name", + "url" + ], + "url": { + "ui:placeholder": "https://linkedin.com/john_doe" + } + } + }, + "currentAssignee": { + "ui:placeholder": "John Doe" + }, + "description": { + "ui:placeholder": "Some legal document!" + }, + "endDate": { + "ui:placeholder": "2020-09-03" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "grantDate": { + "ui:placeholder": "2016-09-01" + }, + "identifier": { + "items": { + "id": { + "ui:placeholder": "10.1000/182" + }, + "label": { + "ui:placeholder": "DOI" + }, + "ui:order": [ + "id", + "label" + ] + } + }, + "legalType": { + "ui:placeholder": "Patent, Trademark, Copyright" + }, + "name": { + "ui:placeholder": "XYZ's patent on LZW compression, a fundamental part of the widely used GIF graphics format" + }, + "previousAssignee": { + "ui:placeholder": "John Doe" + }, + "resources": { + "items": { + "label": { + "ui:placeholder": "Slides" + }, + "ui:order": [ + "url", + "label" + ], + "url": { + "ui:placeholder": "http://www.example.com/my-example-slides/" + } + } + }, + "roles": { + "items": { + "ui:placeholder": "Reviewer" + } + }, + "summary": { + "ui:placeholder": "Build out onboarding process as core maintainer" + }, + "ui:order": [ + "name", + "description", + "entity", + "legalType", + "applicationDate", + "grantDate", + "endDate", + "resources", + "identifier", + "currentAssignee", + "previousAssignee", + "roles", + "coAuthors", + "summary" + ] + } + }, + "summary": { + "ui:placeholder": "As a hobby inventor I was able to amass a wide variety of copyright, patent and other legal objects." + }, + "ui:order": [ + "legal", + "summary" + ] + }, + "meta": { + "canonical": { + "ui:placeholder": "http://example.org/my-resume.json" + }, + "lastModified": { + "ui:placeholder": "2017-06-29T15:53:01+01:00" + }, + "schema": { + "filters": { + "ui:order": [] + }, + "localization": { + "ui:order": [] + }, + "ui:order": [ + "filters", + "localization" + ] + }, + "schemaVersion": { + "ui:placeholder": "v1.0.0" + }, + "tooling": { + "ui:order": [] + }, + "ui:order": [ + "canonical", + "version", + "lastModified", + "uuid", + "tooling", + "schema", + "schemaVersion" + ], + "uuid": { + "ui:placeholder": "078c39ce-23ee-4970-9637-c07379132dce" + }, + "version": { + "ui:placeholder": "v1.0.0" + } + }, + "personal": { + "birthPlace": { + "ui:placeholder": "Munich" + }, + "birthday": { + "ui:placeholder": "1995-02-14" + }, + "citizenship": { + "ui:placeholder": "Germany" + }, + "currentLocation": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "email": { + "ui:placeholder": "lucas@example.com" + }, + "identityGender": { + "ui:placeholder": "male" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/profile.svg" + }, + "legalGender": { + "ui:placeholder": "male" + }, + "name": { + "ui:placeholder": "John Doe" + }, + "permanentLocation": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "phone": { + "ui:placeholder": "912-217-7923" + }, + "postalAddress": { + "ui:placeholder": "John Doe, Wittekindshof, Schulstrasse 4, 32547 Bad Oyenhausen, Germany" + }, + "profiles": { + "items": { + "network": { + "ui:placeholder": "Github" + }, + "ui:order": [ + "network", + "username", + "url" + ], + "url": { + "ui:placeholder": "https://github.com/john_doe" + }, + "username": { + "ui:placeholder": "john_doe" + } + } + }, + "pronouns": { + "ui:placeholder": "they/their/them" + }, + "relationshipStatus": { + "ui:placeholder": "married" + }, + "ui:order": [ + "name", + "legalGender", + "identityGender", + "pronouns", + "email", + "phone", + "currentLocation", + "permanentLocation", + "birthday", + "birthPlace", + "citizenship", + "profiles", + "relationshipStatus", + "postalAddress", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://www.example.com/" + } + }, + "projects": { + "projects": { + "items": { + "description": { + "ui:placeholder": "Open CV standard" + }, + "endDate": { + "ui:placeholder": "2017-03-02" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "highlights": { + "items": { + "ui:placeholder": "Used by a broad community" + } + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/project.svg" + }, + "keywords": { + "items": { + "ui:placeholder": "JSON" + } + }, + "location": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "name": { + "ui:placeholder": " Resumic" + }, + "resources": { + "items": { + "label": { + "ui:placeholder": "Slides" + }, + "ui:order": [ + "url", + "label" + ], + "url": { + "ui:placeholder": "http://www.example.com/my-example-slides/" + } + } + }, + "roles": { + "items": { + "ui:placeholder": "Team Lead" + } + }, + "startDate": { + "ui:placeholder": "2016-06-29" + }, + "summary": { + "ui:placeholder": "Starting a new CV standard to create a new CV was definitely not the most efficient use of time." + }, + "type": { + "ui:placeholder": "open source|volunteering|hobby" + }, + "ui:order": [ + "name", + "description", + "startDate", + "endDate", + "roles", + "entity", + "type", + "location", + "url", + "image", + "resources", + "summary", + "highlights", + "keywords" + ], + "url": { + "ui:placeholder": "http://www.example.org/csdl/mags/co/1996/10/rx069-abs.html" + } + } + }, + "summary": { + "ui:placeholder": "Most of my projects are work related and can't be shown extensively. I'm happy to talk about them in detail on a call." + }, + "ui:order": [ + "projects", + "summary" + ] + }, + "publications": { + "publications": { + "items": { + "coAuthors": { + "items": { + "name": { + "ui:placeholder": "John Doe" + }, + "ui:order": [ + "name", + "url" + ], + "url": { + "ui:placeholder": "https://linkedin.com/john_doe" + } + } + }, + "description": { + "ui:placeholder": "Discussion of the advent of deep learning and artificial intelligence" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "highlights": { + "items": { + "ui:placeholder": "Changed how we see the world" + } + }, + "identifier": { + "items": { + "id": { + "ui:placeholder": "10.1000/182" + }, + "label": { + "ui:placeholder": "DOI" + }, + "ui:order": [ + "id", + "label" + ] + } + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/publication.svg" + }, + "name": { + "ui:placeholder": "Deep learning and Artificial Intelligence" + }, + "publicationDate": { + "ui:placeholder": "2015-08-01" + }, + "resources": { + "items": { + "label": { + "ui:placeholder": "Slides" + }, + "ui:order": [ + "url", + "label" + ], + "url": { + "ui:placeholder": "http://www.example.com/my-example-slides/" + } + } + }, + "roles": { + "items": { + "ui:placeholder": "Reviewer" + } + }, + "summary": { + "ui:placeholder": "Writing this publication opened up a huge wave of new research areas. The work together with \u003cperson\u003e was the highlight of my research in the field of AI." + }, + "ui:order": [ + "name", + "description", + "entity", + "publicationDate", + "roles", + "coAuthors", + "identifier", + "url", + "image", + "resources", + "summary", + "highlights" + ], + "url": { + "ui:placeholder": "http://www.computer.org.example.com/csdl/mags/co/2015/10/rx069-abs.html" + } + } + }, + "summary": { + "ui:placeholder": "Thanks to my co-Authors and the willing reviewers my publications far surpass my imaginations." + }, + "ui:order": [ + "publications", + "summary" + ] + }, + "references": { + "references": { + "items": { + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "name": { + "ui:placeholder": "Stephan Mark" + }, + "reference": { + "ui:placeholder": " Person was a great employee, who turned up to work at least once a week. He exceeded my expectations when it came to doing nothing." + }, + "role": { + "ui:placeholder": "Senior Software Engineer" + }, + "ui:order": [ + "name", + "reference", + "entity", + "role" + ] + } + }, + "summary": { + "ui:placeholder": "My references are great due to specific items. For contact details about my references please reach out directly" + }, + "ui:order": [ + "references", + "summary" + ] + }, + "skills": { + "skills": { + "items": { + "keywords": { + "items": { + "ui:placeholder": "HTML" + } + }, + "name": { + "ui:placeholder": "Web Development" + }, + "proficiency": { + "ui:placeholder": "4" + }, + "ui:order": [ + "name", + "proficiency", + "keywords" + ] + } + }, + "summary": { + "ui:placeholder": "My passion for figuring out things brings me to discover and learn new skills. I only listed only the most relevant skills. Please reach out for any further questions." + }, + "ui:order": [ + "skills", + "summary" + ] + }, + "ui:order": [ + "$schema", + "core", + "personal", + "work", + "education", + "volunteer", + "publications", + "legal", + "skills", + "awards", + "projects", + "certificates", + "references", + "languages", + "interests", + "meta" + ], + "volunteer": { + "summary": { + "ui:placeholder": "Creating positive change is not only important in my professional life, but also in my private life and I do my best to help and volunteer." + }, + "ui:order": [ + "volunteer", + "summary" + ], + "volunteer": { + "items": { + "endDate": { + "ui:placeholder": "2017-06-29" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "highlights": { + "items": { + "ui:placeholder": "Set up huge donor run" + } + }, + "location": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "resources": { + "items": { + "label": { + "ui:placeholder": "Slides" + }, + "ui:order": [ + "url", + "label" + ], + "url": { + "ui:placeholder": "http://www.example.com/my-example-slides/" + } + } + }, + "roles": { + "items": { + "ui:placeholder": "Open Source Contributor" + } + }, + "startDate": { + "ui:placeholder": "2014-06-29" + }, + "summary": { + "ui:placeholder": "Doing accounting work to keep things afloat." + }, + "ui:order": [ + "roles", + "entity", + "startDate", + "endDate", + "location", + "resources", + "summary", + "highlights" + ] + } + } + }, + "work": { + "summary": { + "ui:placeholder": "My general work experience was interrupted by a new educational experience, which now enables me to do even more." + }, + "ui:order": [ + "work", + "summary" + ], + "work": { + "items": { + "endDate": { + "ui:placeholder": "2018-12-29" + }, + "entity": { + "description": { + "ui:placeholder": "A good things entity" + }, + "image": { + "ui:placeholder": "https://resumic.org/assets/entity.svg" + }, + "name": { + "ui:placeholder": "Entity of Things" + }, + "ui:order": [ + "name", + "description", + "url", + "image" + ], + "url": { + "ui:placeholder": "http://xyz.example.com" + } + }, + "highlights": { + "items": { + "ui:placeholder": "Worked with mobile team at Twitter to develop remote debugging tools for mobile browsers" + } + }, + "location": { + "lat": { + "ui:placeholder": "48.1548895" + }, + "long": { + "ui:placeholder": "11.4717966" + }, + "ui:order": [ + "lat", + "long" + ] + }, + "roles": { + "items": { + "ui:placeholder": "Software Engineer" + } + }, + "startDate": { + "ui:placeholder": "2017-12-29" + }, + "summary": { + "ui:placeholder": "The work with company XYZ was a great experience taking my knowledge accumulation to new heights. The remote team setup made me aware of my love for remote working." + }, + "ui:order": [ + "roles", + "entity", + "startDate", + "endDate", + "location", + "summary", + "highlights" + ] + } + } + } +} \ No newline at end of file diff --git a/ui.json b/ui.json deleted file mode 100644 index dc88fdd..0000000 --- a/ui.json +++ /dev/null @@ -1,661 +0,0 @@ -{ - "awards": { - "items": { - "awarder": { - "ui:placeholder": "IEEE" - }, - "date": { - "ui:placeholder": "2016-06-12" - }, - "summary": { - "ui:placeholder": "Received for my work in Deep learning and AI" - }, - "title": { - "ui:placeholder": "Awarded Software Process Achievement Award" - }, - "ui:order": [ - "title", - "date", - "awarder", - "summary" - ] - } - }, - "certificate": { - "items": { - "code": { - "ui:placeholder": "1Z0-062" - }, - "doesNotExpire": { - "ui:placeholder": "true" - }, - "endDate": { - "ui:placeholder": "2017-06-29" - }, - "grantDate": { - "ui:placeholder": "2017-06-29" - }, - "name": { - "ui:placeholder": "XYZ Certified Application Specialist (MCAS)" - }, - "score": { - "best": { - "ui:placeholder": "4" - }, - "type": { - "ui:placeholder": "GPA" - }, - "ui:order": [ - "type", - "value", - "best", - "worst" - ], - "value": { - "ui:placeholder": "3.4" - }, - "worst": { - "ui:placeholder": "0" - } - }, - "ui:order": [ - "code", - "name", - "website", - "verification", - "grantDate", - "score", - "endDate", - "doesNotExpire" - ], - "verification": { - "ui:placeholder": "http://www.example.org" - }, - "website": { - "ui:placeholder": "http://www.example.org" - } - } - }, - "core": { - "livingArea": { - "ui:placeholder": "Germany" - }, - "title": { - "ui:placeholder": "Software Engineer" - }, - "ui:order": [ - "title", - "workArea", - "livingArea" - ], - "workArea": { - "ui:placeholder": "Munich Citycenter + 20kms" - } - }, - "education": { - "items": { - "area": { - "ui:placeholder": "Engineering" - }, - "courses": { - "items": { - "ui:placeholder": "CS302 - Introduction to Algorithms" - } - }, - "endDate": { - "ui:placeholder": "2013-06-28" - }, - "highlights": { - "items": { - "ui:placeholder": "Live abroad within a new culture" - } - }, - "honors": { - "items": { - "ui:placeholder": "Magna Cum Laude" - } - }, - "institution": { - "ui:placeholder": "XYZ Institute of Technology" - }, - "location": { - "lat": { - "ui:placeholder": "35.712758" - }, - "long": { - "ui:placeholder": "51.392114" - }, - "ui:order": [ - "lat", - "long" - ] - }, - "score": { - "best": { - "ui:placeholder": "4" - }, - "type": { - "ui:placeholder": "GPA" - }, - "ui:order": [ - "type", - "value", - "best", - "worst" - ], - "value": { - "ui:placeholder": "3.4" - }, - "worst": { - "ui:placeholder": "0" - } - }, - "startDate": { - "ui:placeholder": "2017-06-28" - }, - "studyType": { - "ui:placeholder": "Bachelor" - }, - "ui:order": [ - "institution", - "location", - "area", - "studyType", - "startDate", - "endDate", - "score", - "courses", - "honors", - "highlights" - ] - } - }, - "interests": { - "items": { - "keywords": { - "items": { - "ui:placeholder": "Neural Networks" - } - }, - "name": { - "ui:placeholder": "Machine Learning" - }, - "ui:order": [ - "name", - "keywords" - ] - } - }, - "languages": { - "items": { - "language": { - "ui:placeholder": "English" - }, - "level": { - "ui:placeholder": "fluent" - }, - "ui:order": [ - "language", - "level" - ] - } - }, - "legal": { - "items": { - "applicationDate": { - "ui:placeholder": "2015-08-01" - }, - "author": { - "ui:placeholder": "John Doe" - }, - "coAuthors": { - "ui:placeholder": "John Doe" - }, - "currentAssignee": { - "ui:placeholder": "John Doe" - }, - "description": { - "ui:placeholder": "Some legal document!" - }, - "endDate": { - "ui:placeholder": "2020-09-03" - }, - "grantDate": { - "ui:placeholder": "2016-09-01" - }, - "idNumber": { - "ui:placeholder": "JP2004369746A" - }, - "legalType": { - "ui:placeholder": "Patent, Trademark, Copyright" - }, - "name": { - "ui:placeholder": "XYZ's patent on LZW compression, a fundamental part of the widely used GIF graphics format" - }, - "previousAssignee": { - "ui:placeholder": "John Doe" - }, - "resources": { - "items": { - "label": { - "ui:placeholder": "Slides" - }, - "ui:order": [ - "url", - "label" - ], - "url": { - "ui:placeholder": "http://www.example.com/my-example-slides/" - } - } - }, - "ui:order": [ - "name", - "legalType", - "description", - "applicationDate", - "grantDate", - "endDate", - "resources", - "idNumber", - "currentAssignee", - "previousAssignee", - "author", - "coAuthors" - ] - } - }, - "meta": { - "canonical": {}, - "lastModified": { - "ui:placeholder": "2017-06-29T15:53:01+01:00" - }, - "ui:order": [ - "canonical", - "version", - "lastModified", - "uuid" - ], - "uuid": { - "ui:placeholder": "078c39ce-23ee-4970-9637-c07379132dce" - }, - "version": { - "ui:placeholder": "v1.0.0" - } - }, - "personal": { - "birthPlace": { - "ui:placeholder": "Munich" - }, - "birthday": { - "ui:placeholder": "1995-02-14" - }, - "currentLocation": { - "lat": { - "ui:placeholder": "35.712758" - }, - "long": { - "ui:placeholder": "51.392114" - }, - "ui:order": [ - "lat", - "long" - ] - }, - "email": { - "ui:placeholder": "lucas@example.com" - }, - "gender": { - "ui:placeholder": "male" - }, - "image": { - "ui:placeholder": "example.com/Abcxyz" - }, - "name": { - "ui:placeholder": "John Doe" - }, - "permanentLocation": { - "lat": { - "ui:placeholder": "35.712758" - }, - "long": { - "ui:placeholder": "51.392114" - }, - "ui:order": [ - "lat", - "long" - ] - }, - "phone": { - "ui:placeholder": "912-217-7923" - }, - "postalAddress": { - "ui:placeholder": "John Doe, Wittekindshof, Schulstrasse 4, 32547 Bad Oyenhausen, Germany" - }, - "profiles": { - "items": { - "network": { - "ui:placeholder": "github" - }, - "ui:order": [ - "network", - "username", - "url" - ], - "url": { - "ui:placeholder": "https://github.com/john_doe" - }, - "username": { - "ui:placeholder": "john_doe" - } - } - }, - "relationshipStatus": { - "ui:placeholder": "married" - }, - "summary": { - "ui:placeholder": "The man who sold the world!" - }, - "ui:order": [ - "name", - "gender", - "image", - "email", - "phone", - "url", - "summary", - "currentLocation", - "permanentLocation", - "birthday", - "birthPlace", - "profiles", - "relationshipStatus", - "postalAddress" - ], - "url": { - "ui:placeholder": "http://www.example.com/" - } - }, - "projects": { - "items": { - "description": { - "ui:placeholder": "Developed a client and server based application" - }, - "endDate": { - "ui:placeholder": "2017-03-02" - }, - "entity": { - "ui:placeholder": "greenpeace" - }, - "highlights": { - "items": { - "ui:placeholder": "used Java AWT and Swing for client side userinterface" - } - }, - "keywords": { - "items": { - "ui:placeholder": "Java" - } - }, - "location": { - "lat": { - "ui:placeholder": "35.712758" - }, - "long": { - "ui:placeholder": "51.392114" - }, - "ui:order": [ - "lat", - "long" - ] - }, - "name": { - "ui:placeholder": "File Transfer application" - }, - "resources": { - "items": { - "label": { - "ui:placeholder": "Slides" - }, - "ui:order": [ - "url", - "label" - ], - "url": { - "ui:placeholder": "http://www.example.com/my-example-slides/" - } - } - }, - "roles": { - "items": { - "ui:placeholder": "Team Lead" - } - }, - "startDate": { - "ui:placeholder": "2016-06-29" - }, - "type": { - "ui:placeholder": "volunteering" - }, - "ui:order": [ - "name", - "location", - "description", - "highlights", - "keywords", - "startDate", - "endDate", - "resources", - "url", - "roles", - "entity", - "type" - ], - "url": { - "ui:placeholder": "http://www.example.org/csdl/mags/co/1996/10/rx069-abs.html" - } - } - }, - "publications": { - "items": { - "name": { - "ui:placeholder": "Deep learning and Artificial Intelligence" - }, - "publisher": { - "ui:placeholder": "XYZ, Computer Magazine" - }, - "publicationDate": { - "ui:placeholder": "2015-08-01" - }, - "resources": { - "items": { - "label": { - "ui:placeholder": "Slides" - }, - "ui:order": [ - "url", - "label" - ], - "url": { - "ui:placeholder": "http://www.example.com/my-example-slides/" - } - } - }, - "summary": { - "ui:placeholder": "Discussion of the advent of deep learning and artificial intelligence" - }, - "ui:order": [ - "name", - "publisher", - "publicationDate", - "resources", - "url", - "summary" - ], - "url": { - "ui:placeholder": "http://www.computer.org.example.com/csdl/mags/co/2015/10/rx069-abs.html" - } - } - }, - "references": { - "items": { - "company": { - "ui:placeholder": "Xyz" - }, - "name": { - "ui:placeholder": "Stephan Mark" - }, - "position": { - "ui:placeholder": "Senior Software Engineer" - }, - "reference": { - "ui:placeholder": "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." - }, - "ui:order": [ - "name", - "company", - "position", - "reference" - ] - } - }, - "skills": { - "items": { - "keywords": { - "items": { - "ui:placeholder": "HTML" - } - }, - "name": { - "ui:placeholder": "Web Development" - }, - "proficiency": { - "ui:placeholder": "advanced" - }, - "ui:order": [ - "name", - "proficiency", - "keywords" - ] - } - }, - "ui:order": [ - "core", - "personal", - "work", - "education", - "volunteer", - "publications", - "legal", - "skills", - "awards", - "projects", - "certificate", - "references", - "languages", - "interests", - "meta" - ], - "volunteer": { - "items": { - "endDate": { - "ui:placeholder": "2017-06-29" - }, - "highlights": { - "items": { - "ui:placeholder": "Invited as a speaker in Xyzcon'17" - } - }, - "location": { - "lat": { - "ui:placeholder": "35.712758" - }, - "long": { - "ui:placeholder": "51.392114" - }, - "ui:order": [ - "lat", - "long" - ] - }, - "organization": { - "ui:placeholder": "Xyz" - }, - "position": { - "ui:placeholder": "Open Source Contributor" - }, - "startDate": { - "ui:placeholder": "2014-06-29" - }, - "summary": { - "ui:placeholder": "Frontend developer" - }, - "ui:order": [ - "organization", - "position", - "location", - "url", - "startDate", - "endDate", - "summary", - "highlights" - ], - "url": { - "ui:placeholder": "http://xyz.example.com" - } - } - }, - "work": { - "items": { - "description": { - "ui:placeholder": "A social media company" - }, - "endDate": { - "ui:placeholder": "2018-12-29" - }, - "highlights": { - "items": { - "ui:placeholder": "Worked with mobile team at Twitter to develop remote debugging tools for mobile browsers" - } - }, - "location": { - "lat": { - "ui:placeholder": "35.712758" - }, - "long": { - "ui:placeholder": "51.392114" - }, - "ui:order": [ - "lat", - "long" - ] - }, - "name": { - "ui:placeholder": "XYZ Inc" - }, - "position": { - "ui:placeholder": "Software Engineer" - }, - "startDate": { - "ui:placeholder": "2017-12-29" - }, - "summary": { - "ui:placeholder": "Developing and maintaining the company website using syna" - }, - "ui:order": [ - "name", - "description", - "position", - "location", - "url", - "startDate", - "endDate", - "summary", - "highlights" - ], - "url": { - "ui:placeholder": "http://xyz.example.com" - } - } - } -}