@velocitycareerlabs/sample-libapp 1.25.0-dev-build.1c5e2a209

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/LICENSE +202 -0
  2. package/contexts/credential-extensions-2022.jsonld.json +36 -0
  3. package/contexts/layer1-v1.0.jsonld.json +414 -0
  4. package/contexts/layer1-v1.1.jsonld.json +451 -0
  5. package/display-descriptors/education-degree-graduation-v1.1.descriptor.json +263 -0
  6. package/display-descriptors/email-v1.0.descriptor.json +19 -0
  7. package/display-descriptors/employment-current-v1.1.descriptor.json +189 -0
  8. package/display-descriptors/en/education-degree-graduation-v1.1.descriptor.json +263 -0
  9. package/display-descriptors/en/email-v1.0.descriptor.json +19 -0
  10. package/display-descriptors/en/employment-current-v1.1.descriptor.json +189 -0
  11. package/display-descriptors/en/open-badge-credential.descriptor.json +259 -0
  12. package/display-descriptors/open-badge-credential.descriptor.json +259 -0
  13. package/docker/compose.yml +9 -0
  14. package/docker/nginx.conf +9 -0
  15. package/form-schemas/EducationDegreeGraduationV1.1.form-schema.json +126 -0
  16. package/form-schemas/EmailV1.0.form-schema.json +5 -0
  17. package/form-schemas/EmploymentCurrentV1.1.form-schema.json +96 -0
  18. package/form-schemas/OpenBadgeCredential.form-schema.json +113 -0
  19. package/form-schemas/en/EducationDegreeGraduationV1.1.form-schema.json +126 -0
  20. package/form-schemas/en/EmailV1.0.form-schema.json +5 -0
  21. package/form-schemas/en/EmploymentCurrentV1.1.form-schema.json +96 -0
  22. package/form-schemas/en/OpenBadgeCredential.form-schema.json +113 -0
  23. package/package.json +18 -0
  24. package/schemas/education-degree-graduation-v1.1.schema.json +366 -0
  25. package/schemas/email-v1.0.schema.json +44 -0
  26. package/schemas/employment-current-v1.1.schema.json +267 -0
  27. package/schemas/open-badge-credential.schema.json +1351 -0
@@ -0,0 +1,366 @@
1
+ {
2
+ "title": "Education degree graduation",
3
+ "$id": "https://velocitynetwork.foundation/schemas/education-degree-graduation-v1.1",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/Education-degree-base_Schema"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "registrationDate": {
12
+ "$ref": "#/definitions/Date_Schema"
13
+ },
14
+ "startDate": {
15
+ "$ref": "#/definitions/Date_Schema"
16
+ },
17
+ "endDate": {
18
+ "$ref": "#/definitions/Date_Schema"
19
+ },
20
+ "conferredDate": {
21
+ "$ref": "#/definitions/Date_Schema"
22
+ },
23
+ "grade": {
24
+ "$ref": "#/definitions/Score_Schema"
25
+ },
26
+ "honors": {
27
+ "type": "string",
28
+ "description": "The type of honors degree given, such as cum laude, merit, etc.",
29
+ "maxLength": 64
30
+ }
31
+ }
32
+ }
33
+ ],
34
+ "required": [
35
+ "institution",
36
+ "conferredDate",
37
+ "degreeName",
38
+ "recipient"
39
+ ],
40
+ "description": "",
41
+ "definitions": {
42
+ "Education-degree-base_Schema": {
43
+ "title": "Degree-base",
44
+ "type": "object",
45
+ "properties": {
46
+ "@context": {
47
+ "$ref": "#/definitions/Json-ld-context_Schema"
48
+ },
49
+ "type": {
50
+ "type": "string",
51
+ "default": "EducationDegree"
52
+ },
53
+ "institution": {
54
+ "$ref": "#/definitions/Organization_Schema"
55
+ },
56
+ "school": {
57
+ "$ref": "#/definitions/Organization_Schema"
58
+ },
59
+ "programName": {
60
+ "type": "string",
61
+ "description": "The program in which the person holding the degree studied for the degree.",
62
+ "maxLength": 256
63
+ },
64
+ "programType": {
65
+ "type": "string",
66
+ "description": "The type of program, e.g., full.",
67
+ "maxLength": 256
68
+ },
69
+ "programMode": {
70
+ "type": "string",
71
+ "description": "The program mode or method of teaching, e.g., online.",
72
+ "maxLength": 256
73
+ },
74
+ "degreeName": {
75
+ "type": "string",
76
+ "description": "The name of the degree.",
77
+ "maxLength": 256
78
+ },
79
+ "degreeMajor": {
80
+ "type": "array",
81
+ "description": "The major field or fields of study of the degree.",
82
+ "minItems": 1,
83
+ "items": {
84
+ "type": "string",
85
+ "maxLength": 128
86
+ }
87
+ },
88
+ "degreeMinor": {
89
+ "type": "array",
90
+ "description": "The minor field or fields of study of the degree.",
91
+ "minItems": 1,
92
+ "items": {
93
+ "type": "string",
94
+ "maxLength": 128
95
+ }
96
+ },
97
+ "description": {
98
+ "type": "string",
99
+ "description": "A detailed description of the degree.",
100
+ "maxLength": 2048
101
+ },
102
+ "recipient": {
103
+ "$ref": "#/definitions/PersonName_Schema"
104
+ },
105
+ "alignment": {
106
+ "type": "array",
107
+ "description": "A public resource to which the degree is aligned.",
108
+ "minItems": 1,
109
+ "items": {
110
+ "$ref": "#/definitions/Alignment_Schema"
111
+ }
112
+ }
113
+ }
114
+ },
115
+ "Json-ld-context_Schema": {
116
+ "title": "json-ld-context",
117
+ "oneOf": [
118
+ {
119
+ "type": "string",
120
+ "maxLength": 2048
121
+ },
122
+ {
123
+ "type": "array",
124
+ "minItems": 1,
125
+ "items": {
126
+ "type": "string",
127
+ "maxLength": 2048
128
+ }
129
+ }
130
+ ],
131
+ "description": "Simplified context for Velocity Publishers to Use"
132
+ },
133
+ "Alignment_Schema": {
134
+ "title": "Alignment",
135
+ "type": "object",
136
+ "additionalProperties": false,
137
+ "properties": {
138
+ "type": {
139
+ "type": "string",
140
+ "default": "AlignmentObject"
141
+ },
142
+ "targetName": {
143
+ "type": "string",
144
+ "description": "Name of the target alignment.",
145
+ "maxLength": 256
146
+ },
147
+ "targetUrl": {
148
+ "type": "string",
149
+ "format": "uri",
150
+ "description": "URL of the target alignment. ",
151
+ "maxLength": 2048
152
+ },
153
+ "targetDescription": {
154
+ "type": "string",
155
+ "description": "Detailed description of the target alignment. ",
156
+ "maxLength": 2048
157
+ },
158
+ "targetCode": {
159
+ "type": "string",
160
+ "description": "Code of the target alignment. ",
161
+ "maxLength": 256
162
+ },
163
+ "targetFramework": {
164
+ "type": "string",
165
+ "description": "The framework to which the target belongs. ",
166
+ "maxLength": 256
167
+ }
168
+ },
169
+ "required": [
170
+ "targetName",
171
+ "targetUrl"
172
+ ]
173
+ },
174
+ "Date_Schema": {
175
+ "title": "Calendar date",
176
+ "type": "string",
177
+ "pattern": "^[1,2]\\d\\d\\d(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\\d|30|31))?)?$",
178
+ "description": ""
179
+ },
180
+ "Did_Schema": {
181
+ "title": "DID",
182
+ "type": "string",
183
+ "pattern": "^did:[a-z0-9]+:[A-Za-z0-9._:?=&%;-]+$"
184
+ },
185
+ "Organization_Schema": {
186
+ "title": "Organization",
187
+ "type": "object",
188
+ "additionalProperties": false,
189
+ "properties": {
190
+ "type": {
191
+ "type": "string",
192
+ "default": "Organization"
193
+ },
194
+ "name": {
195
+ "type": "string",
196
+ "description": "The name of the organization.",
197
+ "maxLength": 256
198
+ },
199
+ "identifier": {
200
+ "$ref": "#/definitions/Did_Schema"
201
+ },
202
+ "place": {
203
+ "$ref": "#/definitions/Place_Schema"
204
+ },
205
+ "image": {
206
+ "type": "string",
207
+ "maxLength": 2048,
208
+ "format": "uri",
209
+ "description": "IRI representing the logo of the organization. This must be JPG, PNG or SVG file. \nFor PNG or JPG: 300px x 300px minimum, maximum size 500kb. "
210
+ }
211
+ },
212
+ "required": [
213
+ "name",
214
+ "place"
215
+ ]
216
+ },
217
+ "PersonName_Schema": {
218
+ "title": "Person name",
219
+ "type": "object",
220
+ "additionalProperties": false,
221
+ "properties": {
222
+ "type": {
223
+ "type": "string",
224
+ "default": "PersonName"
225
+ },
226
+ "givenName": {
227
+ "type": "string",
228
+ "description": "The given name or first name of the person.",
229
+ "maxLength": 64
230
+ },
231
+ "familyName": {
232
+ "type": "string",
233
+ "description": "The family name or surname of the person.",
234
+ "maxLength": 64
235
+ },
236
+ "middleName": {
237
+ "type": "string",
238
+ "description": "The middle name of the person.",
239
+ "maxLength": 256
240
+ },
241
+ "namePrefix": {
242
+ "type": "string",
243
+ "description": "A prefix to the name such as Dr or Sir.",
244
+ "maxLength": 8
245
+ },
246
+ "nameSuffix": {
247
+ "type": "string",
248
+ "description": "A suffix to the name such as Jr. or Sr.",
249
+ "maxLength": 16
250
+ }
251
+ },
252
+ "required": [
253
+ "givenName",
254
+ "familyName"
255
+ ]
256
+ },
257
+ "Place_Schema": {
258
+ "title": "Place",
259
+ "type": "object",
260
+ "additionalProperties": false,
261
+ "properties": {
262
+ "type": {
263
+ "type": "string",
264
+ "default": "Place"
265
+ },
266
+ "name": {
267
+ "type": "string",
268
+ "description": "The name of the place, e.g., building name, branch name, etc.",
269
+ "maxLength": 256
270
+ },
271
+ "addressLocality": {
272
+ "type": "string",
273
+ "description": "The locality where the place is, e.g., town or city name.",
274
+ "maxLength": 256
275
+ },
276
+ "addressRegion": {
277
+ "type": "string",
278
+ "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
279
+ "description": "The region where the place is. These are states, provinces, etc. Must be an [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2)",
280
+ "maxLength": 6
281
+ },
282
+ "addressCountry": {
283
+ "type": "string",
284
+ "description": "The country where the place is. Must be an [ISO 3166 2 letter country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)",
285
+ "pattern": "^[A-Z]{2}$",
286
+ "maxLength": 2
287
+ }
288
+ },
289
+ "required": [
290
+ "addressCountry"
291
+ ]
292
+ },
293
+ "Score_Schema": {
294
+ "title": "Score",
295
+ "type": "object",
296
+ "additionalProperties": false,
297
+ "properties": {
298
+ "scoreMethod": {
299
+ "type": "object",
300
+ "description": "The method according to which the score is given. ",
301
+ "additionalProperties": false,
302
+ "properties": {
303
+ "type": {
304
+ "type": "string",
305
+ "default": "ScoreMethod"
306
+ },
307
+ "scoreMethodType": {
308
+ "type": "string",
309
+ "enum": [
310
+ "NormReferenced",
311
+ "CriterionReferenced"
312
+ ],
313
+ "description": "One of: NormReferenced, CriterionReferenced."
314
+ },
315
+ "alignment": {
316
+ "type": "array",
317
+ "description": "A public resource to which the scoring method is aligned.",
318
+ "minItems": 1,
319
+ "items": {
320
+ "$ref": "#/definitions/Alignment_Schema"
321
+ }
322
+ },
323
+ "scoreMethodDescription": {
324
+ "type": "string",
325
+ "description": "A description of the scoring method used.",
326
+ "maxLength": 2048
327
+ },
328
+ "passingScore": {
329
+ "type": "string",
330
+ "description": "The minimum passing score",
331
+ "maxLength": 16
332
+ }
333
+ }
334
+ },
335
+ "type": {
336
+ "type": "string",
337
+ "default": "Score"
338
+ },
339
+ "scoreValue": {
340
+ "type": "string",
341
+ "description": "The score achieved by the person.",
342
+ "maxLength": 16
343
+ },
344
+ "result": {
345
+ "type": "string",
346
+ "description": "The result achieved by the person, e.g. acceptable, excellent, poor. Applicable when results are not stated as scores. ",
347
+ "maxLength": 2048
348
+ },
349
+ "passFail": {
350
+ "type": "string",
351
+ "enum": [
352
+ "Pass",
353
+ "Fail"
354
+ ],
355
+ "description": "One of: Pass, Fail"
356
+ },
357
+ "scoreDescription": {
358
+ "type": "string",
359
+ "description": "Explanation or description of the meaning of the score and/or result achieved.",
360
+ "maxLength": 2048
361
+ }
362
+ },
363
+ "description": ""
364
+ }
365
+ }
366
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "title": "Email",
3
+ "$id": "https://velocitynetwork.foundation/schemas/email-v1.0",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "properties": {
7
+ "@context": {
8
+ "$ref": "#/definitions/Json-ld-context_Schema"
9
+ },
10
+ "type": {
11
+ "type": "string",
12
+ "default": "Email"
13
+ },
14
+ "email": {
15
+ "type": "string",
16
+ "format": "email",
17
+ "description": "The email address.",
18
+ "maxLength": 256
19
+ }
20
+ },
21
+ "required": [
22
+ "email"
23
+ ],
24
+ "definitions": {
25
+ "Json-ld-context_Schema": {
26
+ "title": "json-ld-context",
27
+ "oneOf": [
28
+ {
29
+ "type": "string",
30
+ "maxLength": 2048
31
+ },
32
+ {
33
+ "type": "array",
34
+ "minItems": 1,
35
+ "items": {
36
+ "type": "string",
37
+ "maxLength": 2048
38
+ }
39
+ }
40
+ ],
41
+ "description": "Simplified context for Velocity Publishers to Use"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,267 @@
1
+ {
2
+ "title": "Current employment position",
3
+ "$id": "https://velocitynetwork.foundation/schemas/employment-current-v1.1",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/Employment-base_Schema"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "startDate": {
12
+ "$ref": "#/definitions/Date_Schema"
13
+ }
14
+ }
15
+ }
16
+ ],
17
+ "required": [
18
+ "legalEmployer",
19
+ "role",
20
+ "startDate",
21
+ "recipient"
22
+ ],
23
+ "definitions": {
24
+ "Employment-base_Schema": {
25
+ "title": "Employment-base",
26
+ "type": "object",
27
+ "properties": {
28
+ "@context": {
29
+ "$ref": "#/definitions/Json-ld-context_Schema"
30
+ },
31
+ "type": {
32
+ "type": "string",
33
+ "default": "Employment"
34
+ },
35
+ "legalEmployer": {
36
+ "$ref": "#/definitions/Organization_Schema"
37
+ },
38
+ "role": {
39
+ "type": "string",
40
+ "description": "The role the person has in the organization.",
41
+ "maxLength": 256
42
+ },
43
+ "description": {
44
+ "type": "string",
45
+ "description": "A detailed description of the position.",
46
+ "maxLength": 2048
47
+ },
48
+ "employmentType": {
49
+ "type": "array",
50
+ "minItems": 1,
51
+ "description": "Any of: Full-time, full-time, Part-time, part-time, Contract, contract, Temporary, temporary, Permanent, permanent, Internship, internship, Other, other. ",
52
+ "items": {
53
+ "type": "string",
54
+ "enum": [
55
+ "Contract",
56
+ "Temporary",
57
+ "Permanent",
58
+ "Internship",
59
+ "Full-time",
60
+ "Part-time",
61
+ "Other",
62
+ "contract",
63
+ "temporary",
64
+ "permanent",
65
+ "internship",
66
+ "full-time",
67
+ "part-time",
68
+ "other"
69
+ ]
70
+ }
71
+ },
72
+ "place": {
73
+ "$ref": "#/definitions/Place_Schema"
74
+ },
75
+ "recipient": {
76
+ "$ref": "#/definitions/PersonName_Schema"
77
+ },
78
+ "alignment": {
79
+ "type": "array",
80
+ "description": "A public resource to which the employment position is aligned.",
81
+ "minItems": 1,
82
+ "items": {
83
+ "$ref": "#/definitions/Alignment_Schema"
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "Json-ld-context_Schema": {
89
+ "title": "json-ld-context",
90
+ "oneOf": [
91
+ {
92
+ "type": "string",
93
+ "maxLength": 2048
94
+ },
95
+ {
96
+ "type": "array",
97
+ "minItems": 1,
98
+ "items": {
99
+ "type": "string",
100
+ "maxLength": 2048
101
+ }
102
+ }
103
+ ],
104
+ "description": "Simplified context for Velocity Publishers to Use"
105
+ },
106
+ "Alignment_Schema": {
107
+ "title": "Alignment",
108
+ "type": "object",
109
+ "additionalProperties": false,
110
+ "properties": {
111
+ "type": {
112
+ "type": "string",
113
+ "default": "AlignmentObject"
114
+ },
115
+ "targetName": {
116
+ "type": "string",
117
+ "description": "Name of the target alignment.",
118
+ "maxLength": 256
119
+ },
120
+ "targetUrl": {
121
+ "type": "string",
122
+ "format": "uri",
123
+ "description": "URL of the target alignment. ",
124
+ "maxLength": 2048
125
+ },
126
+ "targetDescription": {
127
+ "type": "string",
128
+ "description": "Detailed description of the target alignment. ",
129
+ "maxLength": 2048
130
+ },
131
+ "targetCode": {
132
+ "type": "string",
133
+ "description": "Code of the target alignment. ",
134
+ "maxLength": 256
135
+ },
136
+ "targetFramework": {
137
+ "type": "string",
138
+ "description": "The framework to which the target belongs. ",
139
+ "maxLength": 256
140
+ }
141
+ },
142
+ "required": [
143
+ "targetName",
144
+ "targetUrl"
145
+ ]
146
+ },
147
+ "Date_Schema": {
148
+ "title": "Calendar date",
149
+ "type": "string",
150
+ "pattern": "^[1,2]\\d\\d\\d(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\\d|30|31))?)?$",
151
+ "description": ""
152
+ },
153
+ "Did_Schema": {
154
+ "title": "DID",
155
+ "type": "string",
156
+ "pattern": "^did:[a-z0-9]+:[A-Za-z0-9._:?=&%;-]+$"
157
+ },
158
+ "Organization_Schema": {
159
+ "title": "Organization",
160
+ "type": "object",
161
+ "additionalProperties": false,
162
+ "properties": {
163
+ "type": {
164
+ "type": "string",
165
+ "default": "Organization"
166
+ },
167
+ "name": {
168
+ "type": "string",
169
+ "description": "The name of the organization.",
170
+ "maxLength": 256
171
+ },
172
+ "identifier": {
173
+ "$ref": "#/definitions/Did_Schema"
174
+ },
175
+ "place": {
176
+ "$ref": "#/definitions/Place_Schema"
177
+ },
178
+ "image": {
179
+ "type": "string",
180
+ "maxLength": 2048,
181
+ "format": "uri",
182
+ "description": "IRI representing the logo of the organization. This must be JPG, PNG or SVG file. \nFor PNG or JPG: 300px x 300px minimum, maximum size 500kb. "
183
+ }
184
+ },
185
+ "required": [
186
+ "name",
187
+ "place"
188
+ ]
189
+ },
190
+ "PersonName_Schema": {
191
+ "title": "Person name",
192
+ "type": "object",
193
+ "additionalProperties": false,
194
+ "properties": {
195
+ "type": {
196
+ "type": "string",
197
+ "default": "PersonName"
198
+ },
199
+ "givenName": {
200
+ "type": "string",
201
+ "description": "The given name or first name of the person.",
202
+ "maxLength": 64
203
+ },
204
+ "familyName": {
205
+ "type": "string",
206
+ "description": "The family name or surname of the person.",
207
+ "maxLength": 64
208
+ },
209
+ "middleName": {
210
+ "type": "string",
211
+ "description": "The middle name of the person.",
212
+ "maxLength": 256
213
+ },
214
+ "namePrefix": {
215
+ "type": "string",
216
+ "description": "A prefix to the name such as Dr or Sir.",
217
+ "maxLength": 8
218
+ },
219
+ "nameSuffix": {
220
+ "type": "string",
221
+ "description": "A suffix to the name such as Jr. or Sr.",
222
+ "maxLength": 16
223
+ }
224
+ },
225
+ "required": [
226
+ "givenName",
227
+ "familyName"
228
+ ]
229
+ },
230
+ "Place_Schema": {
231
+ "title": "Place",
232
+ "type": "object",
233
+ "additionalProperties": false,
234
+ "properties": {
235
+ "type": {
236
+ "type": "string",
237
+ "default": "Place"
238
+ },
239
+ "name": {
240
+ "type": "string",
241
+ "description": "The name of the place, e.g., building name, branch name, etc.",
242
+ "maxLength": 256
243
+ },
244
+ "addressLocality": {
245
+ "type": "string",
246
+ "description": "The locality where the place is, e.g., town or city name.",
247
+ "maxLength": 256
248
+ },
249
+ "addressRegion": {
250
+ "type": "string",
251
+ "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
252
+ "description": "The region where the place is. These are states, provinces, etc. Must be an [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2)",
253
+ "maxLength": 6
254
+ },
255
+ "addressCountry": {
256
+ "type": "string",
257
+ "description": "The country where the place is. Must be an [ISO 3166 2 letter country code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)",
258
+ "pattern": "^[A-Z]{2}$",
259
+ "maxLength": 2
260
+ }
261
+ },
262
+ "required": [
263
+ "addressCountry"
264
+ ]
265
+ }
266
+ }
267
+ }