@velocitycareerlabs/libapp 1.25.0-dev-build.17c2a2ff0 → 1.25.0-dev-build.1a18f10e5

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 (223) hide show
  1. package/display-descriptors/MultiLicensev1.0.descriptor.json +140 -0
  2. package/display-descriptors/assessment-dec2020.descriptor.json +147 -0
  3. package/display-descriptors/assessment-dimension.descriptor.json +175 -0
  4. package/display-descriptors/assessment-v1.0.descriptor.json +267 -0
  5. package/display-descriptors/assessment-v1.1.descriptor.json +307 -0
  6. package/display-descriptors/badge-v1.1.descriptor.json +170 -0
  7. package/display-descriptors/badge.descriptor.json +143 -0
  8. package/display-descriptors/certification-v1.0.descriptor.json +140 -0
  9. package/display-descriptors/certification-v1.1.descriptor.json +190 -0
  10. package/display-descriptors/certification.descriptor.json +99 -0
  11. package/display-descriptors/clr.descriptor.json +123 -0
  12. package/display-descriptors/course-attendance-v1.0.descriptor.json +182 -0
  13. package/display-descriptors/course-attendance-v1.1.descriptor.json +242 -0
  14. package/display-descriptors/course-completion-v1.0.descriptor.json +192 -0
  15. package/display-descriptors/course-completion-v1.1.descriptor.json +253 -0
  16. package/display-descriptors/course-registration-v1.0.descriptor.json +151 -0
  17. package/display-descriptors/course-registration-v1.1.descriptor.json +181 -0
  18. package/display-descriptors/course.descriptor.json +150 -0
  19. package/display-descriptors/current-employment-position.descriptor.json +120 -0
  20. package/display-descriptors/drivers-license-v1.0.descriptor.json +261 -0
  21. package/display-descriptors/drivers-license-v1.1.descriptor.json +261 -0
  22. package/display-descriptors/education-degree-graduation-v1.0.descriptor.json +233 -0
  23. package/display-descriptors/education-degree-registration-v1.0.descriptor.json +171 -0
  24. package/display-descriptors/education-degree-registration-v1.1.descriptor.json +200 -0
  25. package/display-descriptors/education-degree-study-v1.0.descriptor.json +212 -0
  26. package/display-descriptors/education-degree-study-v1.1.descriptor.json +241 -0
  27. package/display-descriptors/education-degree.descriptor.json +110 -0
  28. package/display-descriptors/email-v1.1.descriptor.json +19 -0
  29. package/display-descriptors/email.descriptor.json +16 -0
  30. package/display-descriptors/employment-current-v1.0.descriptor.json +140 -0
  31. package/display-descriptors/employment-past-v1.0.descriptor.json +151 -0
  32. package/display-descriptors/employment-past-v1.1.descriptor.json +200 -0
  33. package/display-descriptors/en/MultiLicensev1.0.descriptor.json +140 -0
  34. package/display-descriptors/en/assessment-dec2020.descriptor.json +147 -0
  35. package/display-descriptors/en/assessment-dimension.descriptor.json +175 -0
  36. package/display-descriptors/en/assessment-v1.0.descriptor.json +267 -0
  37. package/display-descriptors/en/assessment-v1.1.descriptor.json +307 -0
  38. package/display-descriptors/en/badge-v1.1.descriptor.json +170 -0
  39. package/display-descriptors/en/badge.descriptor.json +143 -0
  40. package/display-descriptors/en/certification-v1.0.descriptor.json +140 -0
  41. package/display-descriptors/en/certification-v1.1.descriptor.json +190 -0
  42. package/display-descriptors/en/certification.descriptor.json +99 -0
  43. package/display-descriptors/en/clr.descriptor.json +123 -0
  44. package/display-descriptors/en/course-attendance-v1.0.descriptor.json +182 -0
  45. package/display-descriptors/en/course-attendance-v1.1.descriptor.json +242 -0
  46. package/display-descriptors/en/course-completion-v1.0.descriptor.json +192 -0
  47. package/display-descriptors/en/course-completion-v1.1.descriptor.json +253 -0
  48. package/display-descriptors/en/course-registration-v1.0.descriptor.json +151 -0
  49. package/display-descriptors/en/course-registration-v1.1.descriptor.json +181 -0
  50. package/display-descriptors/en/course.descriptor.json +150 -0
  51. package/display-descriptors/en/current-employment-position.descriptor.json +120 -0
  52. package/display-descriptors/en/drivers-license-v1.0.descriptor.json +261 -0
  53. package/display-descriptors/en/drivers-license-v1.1.descriptor.json +261 -0
  54. package/display-descriptors/en/education-degree-graduation-v1.0.descriptor.json +233 -0
  55. package/display-descriptors/en/education-degree-registration-v1.0.descriptor.json +171 -0
  56. package/display-descriptors/en/education-degree-registration-v1.1.descriptor.json +200 -0
  57. package/display-descriptors/en/education-degree-study-v1.0.descriptor.json +212 -0
  58. package/display-descriptors/en/education-degree-study-v1.1.descriptor.json +241 -0
  59. package/display-descriptors/en/education-degree.descriptor.json +110 -0
  60. package/display-descriptors/en/email-v1.1.descriptor.json +19 -0
  61. package/display-descriptors/en/email.descriptor.json +16 -0
  62. package/display-descriptors/en/employment-current-v1.0.descriptor.json +140 -0
  63. package/display-descriptors/en/employment-past-v1.0.descriptor.json +151 -0
  64. package/display-descriptors/en/employment-past-v1.1.descriptor.json +200 -0
  65. package/display-descriptors/en/id-document-v1.0.descriptor.json +258 -0
  66. package/display-descriptors/en/id-document-v1.1.descriptor.json +258 -0
  67. package/display-descriptors/en/id-document.descriptor.json +152 -0
  68. package/display-descriptors/en/license-v1.0.descriptor.json +172 -0
  69. package/display-descriptors/en/license-v1.1.descriptor.json +210 -0
  70. package/display-descriptors/en/national-id-card-v1.0.descriptor.json +258 -0
  71. package/display-descriptors/en/national-id-card-v1.1.descriptor.json +268 -0
  72. package/display-descriptors/en/open-badge-v1.0.descriptor.json +140 -0
  73. package/display-descriptors/en/open-badge-v2.0.descriptor.json +121 -0
  74. package/display-descriptors/en/passport-v1.0.descriptor.json +229 -0
  75. package/display-descriptors/en/passport-v1.1.descriptor.json +239 -0
  76. package/display-descriptors/en/past-employment-position.descriptor.json +131 -0
  77. package/display-descriptors/en/phone-v1.0.descriptor.json +18 -0
  78. package/display-descriptors/en/phone-v1.1.descriptor.json +18 -0
  79. package/display-descriptors/en/phone.descriptor.json +15 -0
  80. package/display-descriptors/en/proof-of-age-v1.0.descriptor.json +258 -0
  81. package/display-descriptors/en/proof-of-age-v1.1.descriptor.json +268 -0
  82. package/display-descriptors/en/resident-permit-v1.0.descriptor.json +258 -0
  83. package/display-descriptors/en/resident-permit-v1.1.descriptor.json +268 -0
  84. package/display-descriptors/id-document-v1.0.descriptor.json +258 -0
  85. package/display-descriptors/id-document-v1.1.descriptor.json +258 -0
  86. package/display-descriptors/id-document.descriptor.json +152 -0
  87. package/display-descriptors/license-v1.0.descriptor.json +172 -0
  88. package/display-descriptors/license-v1.1.descriptor.json +210 -0
  89. package/display-descriptors/national-id-card-v1.0.descriptor.json +258 -0
  90. package/display-descriptors/national-id-card-v1.1.descriptor.json +268 -0
  91. package/display-descriptors/open-badge-v1.0.descriptor.json +140 -0
  92. package/display-descriptors/open-badge-v2.0.descriptor.json +121 -0
  93. package/display-descriptors/passport-v1.0.descriptor.json +229 -0
  94. package/display-descriptors/passport-v1.1.descriptor.json +239 -0
  95. package/display-descriptors/past-employment-position.descriptor.json +131 -0
  96. package/display-descriptors/phone-v1.0.descriptor.json +18 -0
  97. package/display-descriptors/phone-v1.1.descriptor.json +18 -0
  98. package/display-descriptors/phone.descriptor.json +15 -0
  99. package/display-descriptors/proof-of-age-v1.0.descriptor.json +258 -0
  100. package/display-descriptors/proof-of-age-v1.1.descriptor.json +268 -0
  101. package/display-descriptors/resident-permit-v1.0.descriptor.json +258 -0
  102. package/display-descriptors/resident-permit-v1.1.descriptor.json +268 -0
  103. package/form-schemas/AssessmentV1.0.form-schema.json +64 -0
  104. package/form-schemas/AssessmentV1.1.form-schema.json +89 -0
  105. package/form-schemas/BadgeV1.1.form-schema.json +72 -0
  106. package/form-schemas/CertificationV1.0.form-schema.json +84 -0
  107. package/form-schemas/CertificationV1.1.form-schema.json +109 -0
  108. package/form-schemas/CourseAttendanceV1.0.form-schema.json +76 -0
  109. package/form-schemas/CourseAttendanceV1.1.form-schema.json +101 -0
  110. package/form-schemas/CourseCompletionV1.0.form-schema.json +81 -0
  111. package/form-schemas/CourseCompletionV1.1.form-schema.json +106 -0
  112. package/form-schemas/CourseRegistrationV1.0.form-schema.json +56 -0
  113. package/form-schemas/CourseRegistrationV1.1.form-schema.json +81 -0
  114. package/form-schemas/DriversLicenseV1.0.form-schema.json +199 -0
  115. package/form-schemas/DriversLicenseV1.1.form-schema.json +199 -0
  116. package/form-schemas/EducationDegreeGraduationV1.0.form-schema.json +101 -0
  117. package/form-schemas/EducationDegreeRegistrationV1.0.form-schema.json +67 -0
  118. package/form-schemas/EducationDegreeRegistrationV1.1.form-schema.json +92 -0
  119. package/form-schemas/EducationDegreeStudyV1.0.form-schema.json +92 -0
  120. package/form-schemas/EducationDegreeStudyV1.1.form-schema.json +117 -0
  121. package/form-schemas/EmploymentCurrentV1.0.form-schema.json +70 -0
  122. package/form-schemas/EmploymentPastV1.0.form-schema.json +75 -0
  123. package/form-schemas/EmploymentPastV1.1.form-schema.json +101 -0
  124. package/form-schemas/IdDocumentV1.0.form-schema.json +180 -0
  125. package/form-schemas/IdDocumentV1.1.form-schema.json +180 -0
  126. package/form-schemas/LicenseV1.0.form-schema.json +92 -0
  127. package/form-schemas/LicenseV1.1.form-schema.json +117 -0
  128. package/form-schemas/NationalIdCardV1.0.form-schema.json +176 -0
  129. package/form-schemas/NationalIdCardV1.1.form-schema.json +176 -0
  130. package/form-schemas/OpenBadgeV1.0.form-schema.json +44 -0
  131. package/form-schemas/OpenBadgeV2.0.form-schema.json +44 -0
  132. package/form-schemas/PassportV1.0.form-schema.json +141 -0
  133. package/form-schemas/PassportV1.1.form-schema.json +141 -0
  134. package/form-schemas/PhoneV1.0.form-schema.json +5 -0
  135. package/form-schemas/PhoneV1.1.form-schema.json +5 -0
  136. package/form-schemas/ProofOfAgeV1.0.form-schema.json +176 -0
  137. package/form-schemas/ProofOfAgeV1.1.form-schema.json +176 -0
  138. package/form-schemas/ResidentPermitV1.0.form-schema.json +176 -0
  139. package/form-schemas/ResidentPermitV1.1.form-schema.json +176 -0
  140. package/form-schemas/en/AssessmentV1.0.form-schema.json +64 -0
  141. package/form-schemas/en/AssessmentV1.1.form-schema.json +89 -0
  142. package/form-schemas/en/BadgeV1.1.form-schema.json +72 -0
  143. package/form-schemas/en/CertificationV1.0.form-schema.json +84 -0
  144. package/form-schemas/en/CertificationV1.1.form-schema.json +109 -0
  145. package/form-schemas/en/CourseAttendanceV1.0.form-schema.json +76 -0
  146. package/form-schemas/en/CourseAttendanceV1.1.form-schema.json +101 -0
  147. package/form-schemas/en/CourseCompletionV1.0.form-schema.json +81 -0
  148. package/form-schemas/en/CourseCompletionV1.1.form-schema.json +106 -0
  149. package/form-schemas/en/CourseRegistrationV1.0.form-schema.json +56 -0
  150. package/form-schemas/en/CourseRegistrationV1.1.form-schema.json +81 -0
  151. package/form-schemas/en/DriversLicenseV1.0.form-schema.json +199 -0
  152. package/form-schemas/en/DriversLicenseV1.1.form-schema.json +199 -0
  153. package/form-schemas/en/EducationDegreeGraduationV1.0.form-schema.json +101 -0
  154. package/form-schemas/en/EducationDegreeRegistrationV1.0.form-schema.json +67 -0
  155. package/form-schemas/en/EducationDegreeRegistrationV1.1.form-schema.json +92 -0
  156. package/form-schemas/en/EducationDegreeStudyV1.0.form-schema.json +92 -0
  157. package/form-schemas/en/EducationDegreeStudyV1.1.form-schema.json +117 -0
  158. package/form-schemas/en/EmploymentCurrentV1.0.form-schema.json +70 -0
  159. package/form-schemas/en/EmploymentPastV1.0.form-schema.json +75 -0
  160. package/form-schemas/en/EmploymentPastV1.1.form-schema.json +101 -0
  161. package/form-schemas/en/IdDocumentV1.0.form-schema.json +180 -0
  162. package/form-schemas/en/IdDocumentV1.1.form-schema.json +180 -0
  163. package/form-schemas/en/LicenseV1.0.form-schema.json +92 -0
  164. package/form-schemas/en/LicenseV1.1.form-schema.json +117 -0
  165. package/form-schemas/en/NationalIdCardV1.0.form-schema.json +176 -0
  166. package/form-schemas/en/NationalIdCardV1.1.form-schema.json +176 -0
  167. package/form-schemas/en/OpenBadgeV1.0.form-schema.json +44 -0
  168. package/form-schemas/en/OpenBadgeV2.0.form-schema.json +44 -0
  169. package/form-schemas/en/PassportV1.0.form-schema.json +141 -0
  170. package/form-schemas/en/PassportV1.1.form-schema.json +141 -0
  171. package/form-schemas/en/PhoneV1.0.form-schema.json +5 -0
  172. package/form-schemas/en/PhoneV1.1.form-schema.json +5 -0
  173. package/form-schemas/en/ProofOfAgeV1.0.form-schema.json +176 -0
  174. package/form-schemas/en/ProofOfAgeV1.1.form-schema.json +176 -0
  175. package/form-schemas/en/ResidentPermitV1.0.form-schema.json +176 -0
  176. package/form-schemas/en/ResidentPermitV1.1.form-schema.json +176 -0
  177. package/package.json +2 -2
  178. package/schemas/MultiLicenseV1.0.json +997 -0
  179. package/schemas/assessment-v1.0.schema.json +314 -0
  180. package/schemas/assessment-v1.1.schema.json +360 -0
  181. package/schemas/assessment.schema.json +154 -0
  182. package/schemas/badge-v1.1.schema.json +243 -0
  183. package/schemas/badge.schema.json +152 -0
  184. package/schemas/certification-v1.0.schema.json +233 -0
  185. package/schemas/certification-v1.1.schema.json +277 -0
  186. package/schemas/certification.schema.json +149 -0
  187. package/schemas/clr-subject.schema.json +2247 -0
  188. package/schemas/clr.schema.json +1565 -0
  189. package/schemas/course-attendance-v1.0.schema.json +300 -0
  190. package/schemas/course-attendance-v1.1.schema.json +346 -0
  191. package/schemas/course-completion-v1.0.schema.json +303 -0
  192. package/schemas/course-completion-v1.1.schema.json +349 -0
  193. package/schemas/course-registration-v1.0.schema.json +219 -0
  194. package/schemas/course-registration-v1.1.schema.json +271 -0
  195. package/schemas/course.schema.json +140 -0
  196. package/schemas/current-employment-position.schema.json +145 -0
  197. package/schemas/drivers-license-v1.0.schema.json +333 -0
  198. package/schemas/education-degree-graduation-v1.0.schema.json +320 -0
  199. package/schemas/education-degree-registration-v1.0.schema.json +228 -0
  200. package/schemas/education-degree-registration-v1.1.schema.json +279 -0
  201. package/schemas/education-degree-study-v1.0.schema.json +311 -0
  202. package/schemas/education-degree-study-v1.1.schema.json +357 -0
  203. package/schemas/education-degree.schema.json +161 -0
  204. package/schemas/email.schema.json +19 -0
  205. package/schemas/employment-current-v1.0.schema.json +216 -0
  206. package/schemas/employment-past-v1.0.schema.json +220 -0
  207. package/schemas/employment-past-v1.1.schema.json +271 -0
  208. package/schemas/id-document-v1.0.schema.json +278 -0
  209. package/schemas/id-document.schema.json +169 -0
  210. package/schemas/license-v1.0.schema.json +252 -0
  211. package/schemas/license-v1.1.schema.json +296 -0
  212. package/schemas/license.schema.json +261 -0
  213. package/schemas/national-id-card-v1.0.schema.json +272 -0
  214. package/schemas/open-badge-v1.0.schema.json +176 -0
  215. package/schemas/open-badge-v2.0.schema.json +348 -0
  216. package/schemas/passport-v1.0.schema.json +235 -0
  217. package/schemas/past-employment-position.schema.json +149 -0
  218. package/schemas/phone-v1.0.schema.json +45 -0
  219. package/schemas/phone.schema.json +19 -0
  220. package/schemas/proof-of-age-v1.0.schema.json +272 -0
  221. package/schemas/resident-permit-v1.0.schema.json +272 -0
  222. package/docker/compose.yml +0 -9
  223. package/docker/nginx.conf +0 -9
@@ -0,0 +1,303 @@
1
+ {
2
+ "title": "Course completion",
3
+ "$id": "https://velocitynetwork.foundation/schemas/course-completion-v1.0",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/Course-base_Schema"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "grade": {
12
+ "$ref": "#/definitions/Score_Schema"
13
+ },
14
+ "registrationDate": {
15
+ "$ref": "#/definitions/Date_Schema"
16
+ },
17
+ "startDate": {
18
+ "$ref": "#/definitions/Date_Schema"
19
+ },
20
+ "completionDate": {
21
+ "$ref": "#/definitions/Date_Schema"
22
+ }
23
+ }
24
+ }
25
+ ],
26
+ "required": [
27
+ "provider",
28
+ "courseName",
29
+ "completionDate"
30
+ ],
31
+ "definitions": {
32
+ "Course-base_Schema": {
33
+ "title": "Course-base",
34
+ "type": "object",
35
+ "properties": {
36
+ "@context": {
37
+ "$ref": "#/definitions/Json-ld-context_Schema"
38
+ },
39
+ "type": {
40
+ "type": "string",
41
+ "default": "Course"
42
+ },
43
+ "provider": {
44
+ "$ref": "#/definitions/Organization_Schema"
45
+ },
46
+ "contentProvider": {
47
+ "$ref": "#/definitions/Organization_Schema"
48
+ },
49
+ "courseName": {
50
+ "type": "string",
51
+ "description": "The name of the course.",
52
+ "maxLength": 256
53
+ },
54
+ "description": {
55
+ "type": "string",
56
+ "description": "A detailed description of the course. ",
57
+ "maxLength": 2048
58
+ },
59
+ "courseCode": {
60
+ "type": "string",
61
+ "description": "The code of the course as it appears in the provider's records.",
62
+ "maxLength": 256
63
+ },
64
+ "courseType": {
65
+ "type": "string",
66
+ "description": "The type of course, e.g., professional training, preparation for a license exam, academic course, etc.",
67
+ "maxLength": 256
68
+ },
69
+ "courseMode": {
70
+ "type": "string",
71
+ "description": "The course mode or method of teaching, e.g. online, instructor led, lecture, workshop, etc. ",
72
+ "maxLength": 256
73
+ },
74
+ "courseLevel": {
75
+ "type": "string",
76
+ "description": "The level of the course, e.g., standard, basic, advanced, etc. ",
77
+ "maxLength": 64
78
+ },
79
+ "courseDuration": {
80
+ "type": "string",
81
+ "format": "duration",
82
+ "description": "The duration of the course in ISO 8601 Duration format. See https://en.wikipedia.org/wiki/ISO_8601#Durations"
83
+ },
84
+ "alignment": {
85
+ "type": "array",
86
+ "description": "A public resource to which the course is aligned.",
87
+ "minItems": 1,
88
+ "items": {
89
+ "$ref": "#/definitions/Alignment_Schema"
90
+ }
91
+ }
92
+ }
93
+ },
94
+ "Json-ld-context_Schema": {
95
+ "title": "json-ld-context",
96
+ "oneOf": [
97
+ {
98
+ "type": "string",
99
+ "maxLength": 2048
100
+ },
101
+ {
102
+ "type": "array",
103
+ "minItems": 1,
104
+ "items": {
105
+ "type": "string",
106
+ "maxLength": 2048
107
+ }
108
+ }
109
+ ],
110
+ "description": "Simplified context for Velocity Publishers to Use"
111
+ },
112
+ "Alignment_Schema": {
113
+ "title": "Alignment",
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "properties": {
117
+ "type": {
118
+ "type": "string",
119
+ "default": "AlignmentObject"
120
+ },
121
+ "targetName": {
122
+ "type": "string",
123
+ "description": "Name of the target alignment.",
124
+ "maxLength": 256
125
+ },
126
+ "targetUrl": {
127
+ "type": "string",
128
+ "format": "uri",
129
+ "description": "URL of the target alignment. ",
130
+ "maxLength": 2048
131
+ },
132
+ "targetDescription": {
133
+ "type": "string",
134
+ "description": "Detailed description of the target alignment. ",
135
+ "maxLength": 2048
136
+ },
137
+ "targetCode": {
138
+ "type": "string",
139
+ "description": "Code of the target alignment. ",
140
+ "maxLength": 256
141
+ },
142
+ "targetFramework": {
143
+ "type": "string",
144
+ "description": "The framework to which the target belongs. ",
145
+ "maxLength": 256
146
+ }
147
+ },
148
+ "required": [
149
+ "targetName",
150
+ "targetUrl"
151
+ ]
152
+ },
153
+ "Date_Schema": {
154
+ "title": "Calendar date",
155
+ "type": "string",
156
+ "pattern": "^[1,2]\\d\\d\\d(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\\d|30|31))?)?$"
157
+ },
158
+ "Did_Schema": {
159
+ "title": "DID",
160
+ "type": "string",
161
+ "pattern": "^did:[a-z0-9]+:[A-Za-z0-9._:?=&%;-]+$"
162
+ },
163
+ "Organization_Schema": {
164
+ "title": "Organization",
165
+ "type": "object",
166
+ "additionalProperties": false,
167
+ "properties": {
168
+ "type": {
169
+ "type": "string",
170
+ "default": "Organization"
171
+ },
172
+ "name": {
173
+ "type": "string",
174
+ "description": "The name of the organization.",
175
+ "maxLength": 256
176
+ },
177
+ "identifier": {
178
+ "$ref": "#/definitions/Did_Schema"
179
+ },
180
+ "place": {
181
+ "$ref": "#/definitions/Place_Schema"
182
+ },
183
+ "image": {
184
+ "type": "string",
185
+ "format": "uri",
186
+ "maxLength": 2048,
187
+ "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. "
188
+ }
189
+ },
190
+ "required": [
191
+ "name",
192
+ "place"
193
+ ]
194
+ },
195
+ "Place_Schema": {
196
+ "title": "Place",
197
+ "type": "object",
198
+ "additionalProperties": false,
199
+ "properties": {
200
+ "type": {
201
+ "type": "string",
202
+ "default": "Place"
203
+ },
204
+ "name": {
205
+ "type": "string",
206
+ "description": "The name of the place, e.g., building name, branch name, etc.",
207
+ "maxLength": 256
208
+ },
209
+ "addressLocality": {
210
+ "type": "string",
211
+ "description": "The locality where the place is, e.g., town or city name.",
212
+ "maxLength": 256
213
+ },
214
+ "addressRegion": {
215
+ "type": "string",
216
+ "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
217
+ "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)",
218
+ "maxLength": 6
219
+ },
220
+ "addressCountry": {
221
+ "type": "string",
222
+ "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)",
223
+ "pattern": "^[A-Z]{2}$",
224
+ "maxLength": 2
225
+ }
226
+ },
227
+ "required": [
228
+ "addressCountry"
229
+ ]
230
+ },
231
+ "Score_Schema": {
232
+ "title": "Score",
233
+ "type": "object",
234
+ "additionalProperties": false,
235
+ "properties": {
236
+ "scoreMethod": {
237
+ "type": "object",
238
+ "description": "The method according to which the score is given. ",
239
+ "additionalProperties": false,
240
+ "properties": {
241
+ "type": {
242
+ "type": "string",
243
+ "default": "ScoreMethod"
244
+ },
245
+ "scoreMethodType": {
246
+ "type": "string",
247
+ "enum": [
248
+ "NormReferenced",
249
+ "CriterionReferenced"
250
+ ],
251
+ "description": "One of: NormReferenced, CriterionReferenced."
252
+ },
253
+ "scoreMethodDescription": {
254
+ "type": "string",
255
+ "description": "A description of the scoring method used.",
256
+ "maxLength": 2048
257
+ },
258
+ "alignment": {
259
+ "type": "array",
260
+ "description": "A public resource to which the scoring method is aligned.",
261
+ "minItems": 1,
262
+ "items": {
263
+ "$ref": "#/definitions/Alignment_Schema"
264
+ }
265
+ },
266
+ "passingScore": {
267
+ "type": "string",
268
+ "description": "The minimum passing score",
269
+ "maxLength": 16
270
+ }
271
+ }
272
+ },
273
+ "scoreValue": {
274
+ "type": "string",
275
+ "description": "The score achieved by the person.",
276
+ "maxLength": 16
277
+ },
278
+ "type": {
279
+ "type": "string",
280
+ "default": "Score"
281
+ },
282
+ "result": {
283
+ "type": "string",
284
+ "description": "The result achieved by the person, e.g. acceptable, excellent, poor. Applicable when results are not stated as scores. ",
285
+ "maxLength": 2048
286
+ },
287
+ "passFail": {
288
+ "type": "string",
289
+ "enum": [
290
+ "Pass",
291
+ "Fail"
292
+ ],
293
+ "description": "One of: Pass, Fail"
294
+ },
295
+ "scoreDescription": {
296
+ "type": "string",
297
+ "description": "Explanation or description of the meaning of the score and/or result achieved. ",
298
+ "maxLength": 2048
299
+ }
300
+ }
301
+ }
302
+ }
303
+ }
@@ -0,0 +1,349 @@
1
+ {
2
+ "title": "Course completion",
3
+ "$id": "https://velocitynetwork.foundation/schemas/course-completion-v1.1",
4
+ "allOf": [
5
+ {
6
+ "$ref": "#/definitions/Course-base_Schema"
7
+ },
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "grade": {
12
+ "$ref": "#/definitions/Score_Schema"
13
+ },
14
+ "registrationDate": {
15
+ "$ref": "#/definitions/Date_Schema"
16
+ },
17
+ "startDate": {
18
+ "$ref": "#/definitions/Date_Schema"
19
+ },
20
+ "completionDate": {
21
+ "$ref": "#/definitions/Date_Schema"
22
+ }
23
+ }
24
+ }
25
+ ],
26
+ "required": [
27
+ "provider",
28
+ "courseName",
29
+ "completionDate",
30
+ "recipient"
31
+ ],
32
+ "definitions": {
33
+ "Course-base_Schema": {
34
+ "title": "Course-base",
35
+ "type": "object",
36
+ "properties": {
37
+ "@context": {
38
+ "$ref": "#/definitions/Json-ld-context_Schema"
39
+ },
40
+ "type": {
41
+ "type": "string",
42
+ "default": "Course"
43
+ },
44
+ "provider": {
45
+ "$ref": "#/definitions/Organization_Schema"
46
+ },
47
+ "contentProvider": {
48
+ "$ref": "#/definitions/Organization_Schema"
49
+ },
50
+ "courseName": {
51
+ "type": "string",
52
+ "description": "The name of the course.",
53
+ "maxLength": 256
54
+ },
55
+ "description": {
56
+ "type": "string",
57
+ "description": "A detailed description of the course. ",
58
+ "maxLength": 2048
59
+ },
60
+ "courseCode": {
61
+ "type": "string",
62
+ "description": "The code of the course as it appears in the provider's records.",
63
+ "maxLength": 256
64
+ },
65
+ "courseType": {
66
+ "type": "string",
67
+ "description": "The type of course, e.g., professional training, preparation for a license exam, academic course, etc.",
68
+ "maxLength": 256
69
+ },
70
+ "courseMode": {
71
+ "type": "string",
72
+ "description": "The course mode or method of teaching, e.g. online, instructor led, lecture, workshop, etc. ",
73
+ "maxLength": 256
74
+ },
75
+ "courseLevel": {
76
+ "type": "string",
77
+ "description": "The level of the course, e.g., standard, basic, advanced, etc. ",
78
+ "maxLength": 64
79
+ },
80
+ "courseDuration": {
81
+ "type": "string",
82
+ "format": "duration",
83
+ "description": "The duration of the course in ISO 8601 Duration format. See https://en.wikipedia.org/wiki/ISO_8601#Durations"
84
+ },
85
+ "recipient": {
86
+ "$ref": "#/definitions/PersonName_Schema"
87
+ },
88
+ "alignment": {
89
+ "type": "array",
90
+ "description": "A public resource to which the course is aligned.",
91
+ "minItems": 1,
92
+ "items": {
93
+ "$ref": "#/definitions/Alignment_Schema"
94
+ }
95
+ }
96
+ }
97
+ },
98
+ "Json-ld-context_Schema": {
99
+ "title": "json-ld-context",
100
+ "oneOf": [
101
+ {
102
+ "type": "string",
103
+ "maxLength": 2048
104
+ },
105
+ {
106
+ "type": "array",
107
+ "minItems": 1,
108
+ "items": {
109
+ "type": "string",
110
+ "maxLength": 2048
111
+ }
112
+ }
113
+ ],
114
+ "description": "Simplified context for Velocity Publishers to Use"
115
+ },
116
+ "Alignment_Schema": {
117
+ "title": "Alignment",
118
+ "type": "object",
119
+ "additionalProperties": false,
120
+ "properties": {
121
+ "type": {
122
+ "type": "string",
123
+ "default": "AlignmentObject"
124
+ },
125
+ "targetName": {
126
+ "type": "string",
127
+ "description": "Name of the target alignment.",
128
+ "maxLength": 256
129
+ },
130
+ "targetUrl": {
131
+ "type": "string",
132
+ "format": "uri",
133
+ "description": "URL of the target alignment. ",
134
+ "maxLength": 2048
135
+ },
136
+ "targetDescription": {
137
+ "type": "string",
138
+ "description": "Detailed description of the target alignment. ",
139
+ "maxLength": 2048
140
+ },
141
+ "targetCode": {
142
+ "type": "string",
143
+ "description": "Code of the target alignment. ",
144
+ "maxLength": 256
145
+ },
146
+ "targetFramework": {
147
+ "type": "string",
148
+ "description": "The framework to which the target belongs. ",
149
+ "maxLength": 256
150
+ }
151
+ },
152
+ "required": [
153
+ "targetName",
154
+ "targetUrl"
155
+ ]
156
+ },
157
+ "Date_Schema": {
158
+ "title": "Calendar date",
159
+ "type": "string",
160
+ "pattern": "^[1,2]\\d\\d\\d(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2]\\d|30|31))?)?$",
161
+ "description": ""
162
+ },
163
+ "Did_Schema": {
164
+ "title": "DID",
165
+ "type": "string",
166
+ "pattern": "^did:[a-z0-9]+:[A-Za-z0-9._:?=&%;-]+$"
167
+ },
168
+ "Organization_Schema": {
169
+ "title": "Organization",
170
+ "type": "object",
171
+ "additionalProperties": false,
172
+ "properties": {
173
+ "type": {
174
+ "type": "string",
175
+ "default": "Organization"
176
+ },
177
+ "name": {
178
+ "type": "string",
179
+ "description": "The name of the organization.",
180
+ "maxLength": 256
181
+ },
182
+ "identifier": {
183
+ "$ref": "#/definitions/Did_Schema"
184
+ },
185
+ "place": {
186
+ "$ref": "#/definitions/Place_Schema"
187
+ },
188
+ "image": {
189
+ "type": "string",
190
+ "maxLength": 2048,
191
+ "format": "uri",
192
+ "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. "
193
+ }
194
+ },
195
+ "required": [
196
+ "name",
197
+ "place"
198
+ ]
199
+ },
200
+ "PersonName_Schema": {
201
+ "title": "Person name",
202
+ "type": "object",
203
+ "additionalProperties": false,
204
+ "properties": {
205
+ "type": {
206
+ "type": "string",
207
+ "default": "PersonName"
208
+ },
209
+ "givenName": {
210
+ "type": "string",
211
+ "description": "The given name or first name of the person.",
212
+ "maxLength": 64
213
+ },
214
+ "familyName": {
215
+ "type": "string",
216
+ "description": "The family name or surname of the person.",
217
+ "maxLength": 64
218
+ },
219
+ "middleName": {
220
+ "type": "string",
221
+ "description": "The middle name of the person.",
222
+ "maxLength": 256
223
+ },
224
+ "namePrefix": {
225
+ "type": "string",
226
+ "description": "A prefix to the name such as Dr or Sir.",
227
+ "maxLength": 8
228
+ },
229
+ "nameSuffix": {
230
+ "type": "string",
231
+ "description": "A suffix to the name such as Jr. or Sr.",
232
+ "maxLength": 16
233
+ }
234
+ },
235
+ "required": [
236
+ "givenName",
237
+ "familyName"
238
+ ]
239
+ },
240
+ "Place_Schema": {
241
+ "title": "Place",
242
+ "type": "object",
243
+ "additionalProperties": false,
244
+ "properties": {
245
+ "type": {
246
+ "type": "string",
247
+ "default": "Place"
248
+ },
249
+ "name": {
250
+ "type": "string",
251
+ "description": "The name of the place, e.g., building name, branch name, etc.",
252
+ "maxLength": 256
253
+ },
254
+ "addressLocality": {
255
+ "type": "string",
256
+ "description": "The locality where the place is, e.g., town or city name.",
257
+ "maxLength": 256
258
+ },
259
+ "addressRegion": {
260
+ "type": "string",
261
+ "pattern": "^[A-Z]{2}(-[A-Z0-9]{1,3})?$",
262
+ "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)",
263
+ "maxLength": 6
264
+ },
265
+ "addressCountry": {
266
+ "type": "string",
267
+ "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)",
268
+ "pattern": "^[A-Z]{2}$",
269
+ "maxLength": 2
270
+ }
271
+ },
272
+ "required": [
273
+ "addressCountry"
274
+ ]
275
+ },
276
+ "Score_Schema": {
277
+ "title": "Score",
278
+ "type": "object",
279
+ "additionalProperties": false,
280
+ "properties": {
281
+ "scoreMethod": {
282
+ "type": "object",
283
+ "description": "The method according to which the score is given. ",
284
+ "additionalProperties": false,
285
+ "properties": {
286
+ "type": {
287
+ "type": "string",
288
+ "default": "ScoreMethod"
289
+ },
290
+ "scoreMethodType": {
291
+ "type": "string",
292
+ "enum": [
293
+ "NormReferenced",
294
+ "CriterionReferenced"
295
+ ],
296
+ "description": "One of: NormReferenced, CriterionReferenced."
297
+ },
298
+ "alignment": {
299
+ "type": "array",
300
+ "description": "A public resource to which the scoring method is aligned.",
301
+ "minItems": 1,
302
+ "items": {
303
+ "$ref": "#/definitions/Alignment_Schema"
304
+ }
305
+ },
306
+ "scoreMethodDescription": {
307
+ "type": "string",
308
+ "description": "A description of the scoring method used.",
309
+ "maxLength": 2048
310
+ },
311
+ "passingScore": {
312
+ "type": "string",
313
+ "description": "The minimum passing score",
314
+ "maxLength": 16
315
+ }
316
+ }
317
+ },
318
+ "type": {
319
+ "type": "string",
320
+ "default": "Score"
321
+ },
322
+ "scoreValue": {
323
+ "type": "string",
324
+ "description": "The score achieved by the person.",
325
+ "maxLength": 16
326
+ },
327
+ "result": {
328
+ "type": "string",
329
+ "description": "The result achieved by the person, e.g. acceptable, excellent, poor. Applicable when results are not stated as scores. ",
330
+ "maxLength": 2048
331
+ },
332
+ "passFail": {
333
+ "type": "string",
334
+ "enum": [
335
+ "Pass",
336
+ "Fail"
337
+ ],
338
+ "description": "One of: Pass, Fail"
339
+ },
340
+ "scoreDescription": {
341
+ "type": "string",
342
+ "description": "Explanation or description of the meaning of the score and/or result achieved.",
343
+ "maxLength": 2048
344
+ }
345
+ },
346
+ "description": ""
347
+ }
348
+ }
349
+ }