@hed-hog/lms 0.0.361 → 0.0.365

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 (434) hide show
  1. package/dist/bitcode-wallet/bitcode-wallet.service.d.ts +66 -0
  2. package/dist/bitcode-wallet/bitcode-wallet.service.d.ts.map +1 -1
  3. package/dist/bitcode-wallet/bitcode-wallet.service.js +91 -0
  4. package/dist/bitcode-wallet/bitcode-wallet.service.js.map +1 -1
  5. package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.d.ts +8 -0
  6. package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.d.ts.map +1 -0
  7. package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.js +40 -0
  8. package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.js.map +1 -0
  9. package/dist/class-group/class-group.controller.d.ts +16 -16
  10. package/dist/class-group/class-group.service.d.ts +12 -12
  11. package/dist/course/course-audio-transcription.service.d.ts +3 -2
  12. package/dist/course/course-audio-transcription.service.d.ts.map +1 -1
  13. package/dist/course/course-audio-transcription.service.js +49 -8
  14. package/dist/course/course-audio-transcription.service.js.map +1 -1
  15. package/dist/course/course-export-scorm12-worker.service.d.ts +21 -0
  16. package/dist/course/course-export-scorm12-worker.service.d.ts.map +1 -0
  17. package/dist/course/course-export-scorm12-worker.service.js +109 -0
  18. package/dist/course/course-export-scorm12-worker.service.js.map +1 -0
  19. package/dist/course/course-export-scorm12.service.d.ts +42 -0
  20. package/dist/course/course-export-scorm12.service.d.ts.map +1 -0
  21. package/dist/course/course-export-scorm12.service.js +628 -0
  22. package/dist/course/course-export-scorm12.service.js.map +1 -0
  23. package/dist/course/course-export.service.d.ts +84 -0
  24. package/dist/course/course-export.service.d.ts.map +1 -0
  25. package/dist/course/course-export.service.js +237 -0
  26. package/dist/course/course-export.service.js.map +1 -0
  27. package/dist/course/course-lesson.controller.d.ts +4 -0
  28. package/dist/course/course-lesson.controller.d.ts.map +1 -1
  29. package/dist/course/course-lesson.controller.js +10 -0
  30. package/dist/course/course-lesson.controller.js.map +1 -1
  31. package/dist/course/course-structure.controller.d.ts +24 -9
  32. package/dist/course/course-structure.controller.d.ts.map +1 -1
  33. package/dist/course/course-structure.controller.js +30 -3
  34. package/dist/course/course-structure.controller.js.map +1 -1
  35. package/dist/course/course-structure.service.d.ts +25 -3
  36. package/dist/course/course-structure.service.d.ts.map +1 -1
  37. package/dist/course/course-structure.service.js +234 -24
  38. package/dist/course/course-structure.service.js.map +1 -1
  39. package/dist/course/course-video-conversion.service.d.ts +8 -0
  40. package/dist/course/course-video-conversion.service.d.ts.map +1 -1
  41. package/dist/course/course-video-conversion.service.js +87 -51
  42. package/dist/course/course-video-conversion.service.js.map +1 -1
  43. package/dist/course/course-video-hls.service.d.ts +57 -0
  44. package/dist/course/course-video-hls.service.d.ts.map +1 -0
  45. package/dist/course/course-video-hls.service.js +767 -0
  46. package/dist/course/course-video-hls.service.js.map +1 -0
  47. package/dist/course/course.controller.d.ts +115 -11
  48. package/dist/course/course.controller.d.ts.map +1 -1
  49. package/dist/course/course.controller.js +66 -28
  50. package/dist/course/course.controller.js.map +1 -1
  51. package/dist/course/course.mcp-tools.js +1 -1
  52. package/dist/course/course.mcp-tools.js.map +1 -1
  53. package/dist/course/course.module.d.ts.map +1 -1
  54. package/dist/course/course.module.js +13 -0
  55. package/dist/course/course.module.js.map +1 -1
  56. package/dist/course/course.service.d.ts +112 -11
  57. package/dist/course/course.service.d.ts.map +1 -1
  58. package/dist/course/course.service.js +682 -72
  59. package/dist/course/course.service.js.map +1 -1
  60. package/dist/course/dto/cleanup-course-storage.dto.d.ts +6 -0
  61. package/dist/course/dto/cleanup-course-storage.dto.d.ts.map +1 -0
  62. package/dist/course/dto/cleanup-course-storage.dto.js +34 -0
  63. package/dist/course/dto/cleanup-course-storage.dto.js.map +1 -0
  64. package/dist/course/dto/cleanup-upload-history.dto.d.ts +9 -0
  65. package/dist/course/dto/cleanup-upload-history.dto.d.ts.map +1 -0
  66. package/dist/course/dto/cleanup-upload-history.dto.js +36 -0
  67. package/dist/course/dto/cleanup-upload-history.dto.js.map +1 -0
  68. package/dist/course/dto/create-course-bulk-job.dto.d.ts +5 -0
  69. package/dist/course/dto/create-course-bulk-job.dto.d.ts.map +1 -0
  70. package/dist/course/dto/create-course-bulk-job.dto.js +26 -0
  71. package/dist/course/dto/create-course-bulk-job.dto.js.map +1 -0
  72. package/dist/course/dto/create-course-export.dto.d.ts +14 -0
  73. package/dist/course/dto/create-course-export.dto.d.ts.map +1 -0
  74. package/dist/course/dto/create-course-export.dto.js +71 -0
  75. package/dist/course/dto/create-course-export.dto.js.map +1 -0
  76. package/dist/course/dto/create-course-structure-lesson.dto.d.ts +2 -2
  77. package/dist/course/dto/create-course-structure-lesson.dto.d.ts.map +1 -1
  78. package/dist/course/dto/create-course-structure-lesson.dto.js +3 -2
  79. package/dist/course/dto/create-course-structure-lesson.dto.js.map +1 -1
  80. package/dist/course/lms-bulk-upload-automation.service.d.ts +54 -0
  81. package/dist/course/lms-bulk-upload-automation.service.d.ts.map +1 -0
  82. package/dist/course/lms-bulk-upload-automation.service.js +537 -0
  83. package/dist/course/lms-bulk-upload-automation.service.js.map +1 -0
  84. package/dist/course/lms-bulk-upload-infra.service.d.ts +32 -0
  85. package/dist/course/lms-bulk-upload-infra.service.d.ts.map +1 -0
  86. package/dist/course/lms-bulk-upload-infra.service.js +301 -0
  87. package/dist/course/lms-bulk-upload-infra.service.js.map +1 -0
  88. package/dist/course/lms-bulk-upload.constants.d.ts +4 -0
  89. package/dist/course/lms-bulk-upload.constants.d.ts.map +1 -0
  90. package/dist/course/lms-bulk-upload.constants.js +7 -0
  91. package/dist/course/lms-bulk-upload.constants.js.map +1 -0
  92. package/dist/course/lms-bulk-upload.controller.d.ts +144 -1
  93. package/dist/course/lms-bulk-upload.controller.d.ts.map +1 -1
  94. package/dist/course/lms-bulk-upload.controller.js +114 -4
  95. package/dist/course/lms-bulk-upload.controller.js.map +1 -1
  96. package/dist/course/lms-bulk-upload.service.d.ts +153 -3
  97. package/dist/course/lms-bulk-upload.service.d.ts.map +1 -1
  98. package/dist/course/lms-bulk-upload.service.js +659 -21
  99. package/dist/course/lms-bulk-upload.service.js.map +1 -1
  100. package/dist/course/lms-setting.controller.d.ts +6 -2
  101. package/dist/course/lms-setting.controller.d.ts.map +1 -1
  102. package/dist/course/lms-setting.controller.js +25 -8
  103. package/dist/course/lms-setting.controller.js.map +1 -1
  104. package/dist/course/scorm12-schemas.d.ts +4 -0
  105. package/dist/course/scorm12-schemas.d.ts.map +1 -0
  106. package/dist/course/scorm12-schemas.js +9 -0
  107. package/dist/course/scorm12-schemas.js.map +1 -0
  108. package/dist/enterprise/enterprise.controller.d.ts +20 -20
  109. package/dist/enterprise/enterprise.service.d.ts +20 -20
  110. package/dist/enterprise/training/training-admin.controller.d.ts +11 -11
  111. package/dist/enterprise/training/training-admin.service.d.ts +11 -11
  112. package/dist/enterprise/training/training-instructor.controller.d.ts +2 -2
  113. package/dist/enterprise/training/training-instructor.service.d.ts +2 -2
  114. package/dist/enterprise/training/training-student.controller.d.ts +1 -1
  115. package/dist/enterprise/training/training-student.service.d.ts +52 -1
  116. package/dist/enterprise/training/training-student.service.d.ts.map +1 -1
  117. package/dist/enterprise/training/training-student.service.js +217 -4
  118. package/dist/enterprise/training/training-student.service.js.map +1 -1
  119. package/dist/enterprise/training/training-viewer.controller.d.ts +2 -2
  120. package/dist/evaluation/evaluation.controller.d.ts +8 -8
  121. package/dist/evaluation/evaluation.service.d.ts +26 -8
  122. package/dist/evaluation/evaluation.service.d.ts.map +1 -1
  123. package/dist/evaluation/evaluation.service.js +125 -0
  124. package/dist/evaluation/evaluation.service.js.map +1 -1
  125. package/dist/exam/dto/create-standalone-question.dto.d.ts +12 -0
  126. package/dist/exam/dto/create-standalone-question.dto.d.ts.map +1 -0
  127. package/dist/exam/dto/create-standalone-question.dto.js +70 -0
  128. package/dist/exam/dto/create-standalone-question.dto.js.map +1 -0
  129. package/dist/exam/exam.module.d.ts.map +1 -1
  130. package/dist/exam/exam.module.js +2 -1
  131. package/dist/exam/exam.module.js.map +1 -1
  132. package/dist/exam/exam.service.d.ts +21 -0
  133. package/dist/exam/exam.service.d.ts.map +1 -1
  134. package/dist/exam/exam.service.js +80 -0
  135. package/dist/exam/exam.service.js.map +1 -1
  136. package/dist/exam/question.controller.d.ts +27 -0
  137. package/dist/exam/question.controller.d.ts.map +1 -0
  138. package/dist/exam/question.controller.js +53 -0
  139. package/dist/exam/question.controller.js.map +1 -0
  140. package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.d.ts +6 -0
  141. package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.d.ts.map +1 -0
  142. package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.js +34 -0
  143. package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.js.map +1 -0
  144. package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.d.ts +28 -0
  145. package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.d.ts.map +1 -0
  146. package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.js +123 -0
  147. package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.js.map +1 -0
  148. package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.d.ts +4 -0
  149. package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.d.ts.map +1 -0
  150. package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.js +22 -0
  151. package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.js.map +1 -0
  152. package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.d.ts +10 -0
  153. package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.d.ts.map +1 -0
  154. package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.js +52 -0
  155. package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.js.map +1 -0
  156. package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.d.ts +15 -0
  157. package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.d.ts.map +1 -0
  158. package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.js +86 -0
  159. package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.js.map +1 -0
  160. package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.d.ts +30 -0
  161. package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.d.ts.map +1 -0
  162. package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.js +440 -0
  163. package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.js.map +1 -0
  164. package/dist/lesson-xp-map/lesson-xp-map.controller.d.ts +87 -0
  165. package/dist/lesson-xp-map/lesson-xp-map.controller.d.ts.map +1 -0
  166. package/dist/lesson-xp-map/lesson-xp-map.controller.js +185 -0
  167. package/dist/lesson-xp-map/lesson-xp-map.controller.js.map +1 -0
  168. package/dist/lesson-xp-map/lesson-xp-map.module.d.ts +3 -0
  169. package/dist/lesson-xp-map/lesson-xp-map.module.d.ts.map +1 -0
  170. package/dist/lesson-xp-map/lesson-xp-map.module.js +34 -0
  171. package/dist/lesson-xp-map/lesson-xp-map.module.js.map +1 -0
  172. package/dist/lesson-xp-map/lesson-xp-map.service.d.ts +84 -0
  173. package/dist/lesson-xp-map/lesson-xp-map.service.d.ts.map +1 -0
  174. package/dist/lesson-xp-map/lesson-xp-map.service.js +353 -0
  175. package/dist/lesson-xp-map/lesson-xp-map.service.js.map +1 -0
  176. package/dist/lesson-xp-map/lesson-xp-segment.controller.d.ts +10 -0
  177. package/dist/lesson-xp-map/lesson-xp-segment.controller.d.ts.map +1 -0
  178. package/dist/lesson-xp-map/lesson-xp-segment.controller.js +63 -0
  179. package/dist/lesson-xp-map/lesson-xp-segment.controller.js.map +1 -0
  180. package/dist/lesson-xp-map/lesson-xp-segment.service.d.ts +27 -0
  181. package/dist/lesson-xp-map/lesson-xp-segment.service.d.ts.map +1 -0
  182. package/dist/lesson-xp-map/lesson-xp-segment.service.js +194 -0
  183. package/dist/lesson-xp-map/lesson-xp-segment.service.js.map +1 -0
  184. package/dist/libraries/lms/tsconfig.tsbuildinfo +1 -0
  185. package/dist/lms-commerce-access.subscriber.d.ts +11 -0
  186. package/dist/lms-commerce-access.subscriber.d.ts.map +1 -0
  187. package/dist/lms-commerce-access.subscriber.js +74 -0
  188. package/dist/lms-commerce-access.subscriber.js.map +1 -0
  189. package/dist/lms.module.d.ts.map +1 -1
  190. package/dist/lms.module.js +21 -5
  191. package/dist/lms.module.js.map +1 -1
  192. package/dist/platforma/dto/update-profile.dto.d.ts +17 -0
  193. package/dist/platforma/dto/update-profile.dto.d.ts.map +1 -0
  194. package/dist/platforma/dto/update-profile.dto.js +87 -0
  195. package/dist/platforma/dto/update-profile.dto.js.map +1 -0
  196. package/dist/platforma/platforma-video.service.d.ts +39 -0
  197. package/dist/platforma/platforma-video.service.d.ts.map +1 -0
  198. package/dist/platforma/platforma-video.service.js +301 -0
  199. package/dist/platforma/platforma-video.service.js.map +1 -0
  200. package/dist/platforma/platforma.controller.d.ts +182 -1
  201. package/dist/platforma/platforma.controller.d.ts.map +1 -1
  202. package/dist/platforma/platforma.controller.js +243 -2
  203. package/dist/platforma/platforma.controller.js.map +1 -1
  204. package/dist/platforma/platforma.service.d.ts +27 -0
  205. package/dist/platforma/platforma.service.d.ts.map +1 -0
  206. package/dist/platforma/platforma.service.js +274 -0
  207. package/dist/platforma/platforma.service.js.map +1 -0
  208. package/dist/student-xp/dto/grant-skill-card-xp.dto.d.ts +5 -0
  209. package/dist/student-xp/dto/grant-skill-card-xp.dto.d.ts.map +1 -0
  210. package/dist/student-xp/dto/grant-skill-card-xp.dto.js +26 -0
  211. package/dist/student-xp/dto/grant-skill-card-xp.dto.js.map +1 -0
  212. package/dist/student-xp/student-xp.controller.d.ts +56 -0
  213. package/dist/student-xp/student-xp.controller.d.ts.map +1 -0
  214. package/dist/student-xp/student-xp.controller.js +138 -0
  215. package/dist/student-xp/student-xp.controller.js.map +1 -0
  216. package/dist/student-xp/student-xp.module.d.ts +3 -0
  217. package/dist/student-xp/student-xp.module.d.ts.map +1 -0
  218. package/dist/student-xp/student-xp.module.js +25 -0
  219. package/dist/student-xp/student-xp.module.js.map +1 -0
  220. package/dist/student-xp/student-xp.service.d.ts +81 -0
  221. package/dist/student-xp/student-xp.service.d.ts.map +1 -0
  222. package/dist/student-xp/student-xp.service.js +247 -0
  223. package/dist/student-xp/student-xp.service.js.map +1 -0
  224. package/dist/xp-catalog/dto/create-xp-area.dto.d.ts +12 -0
  225. package/dist/xp-catalog/dto/create-xp-area.dto.d.ts.map +1 -0
  226. package/dist/xp-catalog/dto/create-xp-area.dto.js +63 -0
  227. package/dist/xp-catalog/dto/create-xp-area.dto.js.map +1 -0
  228. package/dist/xp-catalog/dto/create-xp-learning-type.dto.d.ts +11 -0
  229. package/dist/xp-catalog/dto/create-xp-learning-type.dto.d.ts.map +1 -0
  230. package/dist/xp-catalog/dto/create-xp-learning-type.dto.js +57 -0
  231. package/dist/xp-catalog/dto/create-xp-learning-type.dto.js.map +1 -0
  232. package/dist/xp-catalog/dto/create-xp-skill.dto.d.ts +11 -0
  233. package/dist/xp-catalog/dto/create-xp-skill.dto.d.ts.map +1 -0
  234. package/dist/xp-catalog/dto/create-xp-skill.dto.js +57 -0
  235. package/dist/xp-catalog/dto/create-xp-skill.dto.js.map +1 -0
  236. package/dist/xp-catalog/dto/update-xp-area.dto.d.ts +12 -0
  237. package/dist/xp-catalog/dto/update-xp-area.dto.d.ts.map +1 -0
  238. package/dist/xp-catalog/dto/update-xp-area.dto.js +66 -0
  239. package/dist/xp-catalog/dto/update-xp-area.dto.js.map +1 -0
  240. package/dist/xp-catalog/dto/update-xp-learning-type.dto.d.ts +11 -0
  241. package/dist/xp-catalog/dto/update-xp-learning-type.dto.d.ts.map +1 -0
  242. package/dist/xp-catalog/dto/update-xp-learning-type.dto.js +60 -0
  243. package/dist/xp-catalog/dto/update-xp-learning-type.dto.js.map +1 -0
  244. package/dist/xp-catalog/dto/update-xp-skill.dto.d.ts +11 -0
  245. package/dist/xp-catalog/dto/update-xp-skill.dto.d.ts.map +1 -0
  246. package/dist/xp-catalog/dto/update-xp-skill.dto.js +60 -0
  247. package/dist/xp-catalog/dto/update-xp-skill.dto.js.map +1 -0
  248. package/dist/xp-catalog/xp-area.controller.d.ts +25 -0
  249. package/dist/xp-catalog/xp-area.controller.d.ts.map +1 -0
  250. package/dist/xp-catalog/xp-area.controller.js +105 -0
  251. package/dist/xp-catalog/xp-area.controller.js.map +1 -0
  252. package/dist/xp-catalog/xp-area.service.d.ts +35 -0
  253. package/dist/xp-catalog/xp-area.service.d.ts.map +1 -0
  254. package/dist/xp-catalog/xp-area.service.js +168 -0
  255. package/dist/xp-catalog/xp-area.service.js.map +1 -0
  256. package/dist/xp-catalog/xp-catalog.module.d.ts +3 -0
  257. package/dist/xp-catalog/xp-catalog.module.d.ts.map +1 -0
  258. package/dist/xp-catalog/xp-catalog.module.js +29 -0
  259. package/dist/xp-catalog/xp-catalog.module.js.map +1 -0
  260. package/dist/xp-catalog/xp-learning-type.controller.d.ts +20 -0
  261. package/dist/xp-catalog/xp-learning-type.controller.d.ts.map +1 -0
  262. package/dist/xp-catalog/xp-learning-type.controller.js +96 -0
  263. package/dist/xp-catalog/xp-learning-type.controller.js.map +1 -0
  264. package/dist/xp-catalog/xp-learning-type.service.d.ts +30 -0
  265. package/dist/xp-catalog/xp-learning-type.service.d.ts.map +1 -0
  266. package/dist/xp-catalog/xp-learning-type.service.js +146 -0
  267. package/dist/xp-catalog/xp-learning-type.service.js.map +1 -0
  268. package/dist/xp-catalog/xp-skill.controller.d.ts +26 -0
  269. package/dist/xp-catalog/xp-skill.controller.d.ts.map +1 -0
  270. package/dist/xp-catalog/xp-skill.controller.js +113 -0
  271. package/dist/xp-catalog/xp-skill.controller.js.map +1 -0
  272. package/dist/xp-catalog/xp-skill.service.d.ts +37 -0
  273. package/dist/xp-catalog/xp-skill.service.d.ts.map +1 -0
  274. package/dist/xp-catalog/xp-skill.service.js +174 -0
  275. package/dist/xp-catalog/xp-skill.service.js.map +1 -0
  276. package/hedhog/data/evaluation_topic.yaml +17 -0
  277. package/hedhog/data/menu.yaml +91 -7
  278. package/hedhog/data/queue_definition.yaml +48 -0
  279. package/hedhog/data/route.yaml +511 -29
  280. package/hedhog/data/setting_group.yaml +20 -20
  281. package/hedhog/data/xp_area.yaml +164 -0
  282. package/hedhog/data/xp_learning_type.yaml +131 -0
  283. package/hedhog/data/xp_skill.yaml +1834 -0
  284. package/hedhog/frontend/app/achievements/page.tsx.ejs +108 -118
  285. package/hedhog/frontend/app/bitcodes/page.tsx.ejs +22 -34
  286. package/hedhog/frontend/app/bulk-upload-sessions/page.tsx.ejs +1749 -0
  287. package/hedhog/frontend/app/certificates/models/page.tsx.ejs +21 -45
  288. package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +40 -74
  289. package/hedhog/frontend/app/classes/page.tsx.ejs +56 -85
  290. package/hedhog/frontend/app/courses/[id]/_components/CourseDangerZoneCard.tsx.ejs +3 -2
  291. package/hedhog/frontend/app/courses/[id]/_components/CourseMediaCard.tsx.ejs +48 -5
  292. package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +73 -8
  293. package/hedhog/frontend/app/courses/[id]/structure/_components/course-export-sheet.tsx.ejs +420 -0
  294. package/hedhog/frontend/app/courses/[id]/structure/_components/course-exports-tab.tsx.ejs +308 -0
  295. package/hedhog/frontend/app/courses/[id]/structure/_components/course-operations-tab.tsx.ejs +19 -2
  296. package/hedhog/frontend/app/courses/[id]/structure/_components/course-overview-tab.tsx.ejs +1172 -0
  297. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +16 -0
  298. package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree.tsx.ejs +2 -0
  299. package/hedhog/frontend/app/courses/[id]/structure/_components/course-xp-overview-tab.tsx.ejs +623 -0
  300. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson-xp-tab.tsx.ejs +1458 -0
  301. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson.tsx.ejs +87 -46
  302. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-panel.tsx.ejs +8 -3
  303. package/hedhog/frontend/app/courses/[id]/structure/_components/detail-session.tsx.ejs +31 -8
  304. package/hedhog/frontend/app/courses/[id]/structure/_components/drag-overlay.tsx.ejs +16 -9
  305. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +618 -480
  306. package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +672 -737
  307. package/hedhog/frontend/app/courses/[id]/structure/_components/mock-data.ts.ejs +1 -2
  308. package/hedhog/frontend/app/courses/[id]/structure/_components/sortable-tree-row.tsx.ejs +3 -0
  309. package/hedhog/frontend/app/courses/[id]/structure/_components/store.ts.ejs +1 -0
  310. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-display-settings-popover.tsx.ejs +101 -85
  311. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-lesson.tsx.ejs +24 -10
  312. package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row.tsx.ejs +3 -0
  313. package/hedhog/frontend/app/courses/[id]/structure/_components/types.ts.ejs +1 -1
  314. package/hedhog/frontend/app/courses/[id]/structure/_components/use-tree-display-settings.ts.ejs +7 -1
  315. package/hedhog/frontend/app/courses/[id]/structure/_components/xp-premium-pills.tsx.ejs +44 -0
  316. package/hedhog/frontend/app/courses/[id]/structure/_data/adapters/course-structure.adapter.ts.ejs +6 -10
  317. package/hedhog/frontend/app/courses/[id]/structure/_data/services/course-structure.service.ts.ejs +49 -0
  318. package/hedhog/frontend/app/courses/[id]/structure/_data/types/api-course.types.ts.ejs +4 -3
  319. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-content-overview.ts.ejs +53 -0
  320. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-exports.ts.ejs +106 -0
  321. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-mutations.ts.ejs +80 -1
  322. package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-xp-overview.ts.ejs +76 -0
  323. package/hedhog/frontend/app/courses/[id]/structure/_data/use-lesson-xp-map.ts.ejs +128 -0
  324. package/hedhog/frontend/app/courses/[id]/structure/_data/use-lms-settings-query.ts.ejs +0 -2
  325. package/hedhog/frontend/app/courses/[id]/structure/_data/use-transcription-segments.ts.ejs +30 -0
  326. package/hedhog/frontend/app/courses/[id]/structure/_utils/xp-color-config.ts.ejs +115 -0
  327. package/hedhog/frontend/app/courses/_components/CourseDeleteDialog.tsx.ejs +223 -0
  328. package/hedhog/frontend/app/courses/_components/CourseRowActions.tsx.ejs +89 -0
  329. package/hedhog/frontend/app/courses/page.tsx.ejs +445 -230
  330. package/hedhog/frontend/app/enterprise/page.tsx.ejs +39 -63
  331. package/hedhog/frontend/app/exams/[id]/questions/page.tsx.ejs +53 -77
  332. package/hedhog/frontend/app/exams/page.tsx.ejs +54 -90
  333. package/hedhog/frontend/app/instructor-skills/page.tsx.ejs +23 -36
  334. package/hedhog/frontend/app/instructors/page.tsx.ejs +72 -81
  335. package/hedhog/frontend/app/paths/page.tsx.ejs +40 -68
  336. package/hedhog/frontend/app/training/page.tsx.ejs +40 -68
  337. package/hedhog/frontend/app/xp/areas/page.tsx.ejs +782 -0
  338. package/hedhog/frontend/app/xp/learning-types/page.tsx.ejs +690 -0
  339. package/hedhog/frontend/app/xp/skills/page.tsx.ejs +811 -0
  340. package/hedhog/frontend/messages/en.json +412 -31
  341. package/hedhog/frontend/messages/pt.json +412 -31
  342. package/hedhog/table/course_export.yaml +62 -0
  343. package/hedhog/table/lesson_xp_map.yaml +50 -0
  344. package/hedhog/table/lesson_xp_segment.yaml +40 -0
  345. package/hedhog/table/lesson_xp_segment_area.yaml +24 -0
  346. package/hedhog/table/lesson_xp_segment_learning_type.yaml +24 -0
  347. package/hedhog/table/lesson_xp_segment_skill.yaml +24 -0
  348. package/hedhog/table/lms_bulk_upload_item.yaml +44 -0
  349. package/hedhog/table/lms_bulk_upload_session.yaml +42 -0
  350. package/hedhog/table/student_area_xp.yaml +30 -0
  351. package/hedhog/table/student_learning_type_xp.yaml +30 -0
  352. package/hedhog/table/student_skill_xp.yaml +30 -0
  353. package/hedhog/table/student_xp_event.yaml +34 -0
  354. package/hedhog/table/xp_area.yaml +39 -0
  355. package/hedhog/table/xp_learning_type.yaml +34 -0
  356. package/hedhog/table/xp_skill.yaml +39 -0
  357. package/package.json +13 -8
  358. package/src/bitcode-wallet/bitcode-wallet.service.ts +152 -0
  359. package/src/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.ts +32 -0
  360. package/src/course/course-audio-transcription.service.ts +58 -21
  361. package/src/course/course-export-scorm12-worker.service.ts +124 -0
  362. package/src/course/course-export-scorm12.service.ts +668 -0
  363. package/src/course/course-export.service.ts +280 -0
  364. package/src/course/course-lesson.controller.ts +6 -1
  365. package/src/course/course-structure.controller.ts +23 -1
  366. package/src/course/course-structure.service.ts +273 -7
  367. package/src/course/course-video-conversion.service.ts +113 -75
  368. package/src/course/course-video-hls.service.ts +946 -0
  369. package/src/course/course.controller.ts +54 -21
  370. package/src/course/course.mcp-tools.ts +1 -1
  371. package/src/course/course.module.ts +13 -0
  372. package/src/course/course.service.ts +906 -76
  373. package/src/course/dto/cleanup-course-storage.dto.ts +23 -0
  374. package/src/course/dto/cleanup-upload-history.dto.ts +26 -0
  375. package/src/course/dto/create-course-bulk-job.dto.ts +10 -0
  376. package/src/course/dto/create-course-export.dto.ts +56 -0
  377. package/src/course/dto/create-course-structure-lesson.dto.ts +4 -3
  378. package/src/course/lms-bulk-upload-automation.service.ts +707 -0
  379. package/src/course/lms-bulk-upload-infra.service.ts +360 -0
  380. package/src/course/lms-bulk-upload.constants.ts +5 -0
  381. package/src/course/lms-bulk-upload.controller.ts +110 -4
  382. package/src/course/lms-bulk-upload.service.ts +1092 -204
  383. package/src/course/lms-setting.controller.ts +26 -8
  384. package/src/course/scorm12-schemas.ts +9 -0
  385. package/src/enterprise/training/training-student.service.ts +221 -2
  386. package/src/evaluation/evaluation.service.ts +123 -0
  387. package/src/exam/dto/create-standalone-question.dto.ts +66 -0
  388. package/src/exam/exam.module.ts +2 -1
  389. package/src/exam/exam.service.ts +86 -0
  390. package/src/exam/question.controller.ts +28 -0
  391. package/src/lesson-xp-map/dto/create-lesson-xp-map.dto.ts +17 -0
  392. package/src/lesson-xp-map/dto/create-lesson-xp-segment.dto.ts +102 -0
  393. package/src/lesson-xp-map/dto/review-lesson-xp-map.dto.ts +7 -0
  394. package/src/lesson-xp-map/dto/update-lesson-xp-map.dto.ts +36 -0
  395. package/src/lesson-xp-map/dto/update-lesson-xp-segment.dto.ts +78 -0
  396. package/src/lesson-xp-map/lesson-xp-ai-calculation.service.ts +570 -0
  397. package/src/lesson-xp-map/lesson-xp-map.controller.ts +116 -0
  398. package/src/lesson-xp-map/lesson-xp-map.module.ts +21 -0
  399. package/src/lesson-xp-map/lesson-xp-map.service.ts +442 -0
  400. package/src/lesson-xp-map/lesson-xp-segment.controller.ts +36 -0
  401. package/src/lesson-xp-map/lesson-xp-segment.service.ts +229 -0
  402. package/src/lms-commerce-access.subscriber.ts +88 -0
  403. package/src/lms.module.ts +21 -5
  404. package/src/platforma/dto/update-profile.dto.ts +59 -0
  405. package/src/platforma/platforma-video.service.ts +346 -0
  406. package/src/platforma/platforma.controller.ts +152 -3
  407. package/src/platforma/platforma.service.ts +268 -0
  408. package/src/student-xp/dto/grant-skill-card-xp.dto.ts +10 -0
  409. package/src/student-xp/student-xp.controller.ts +92 -0
  410. package/src/student-xp/student-xp.module.ts +12 -0
  411. package/src/student-xp/student-xp.service.ts +318 -0
  412. package/src/xp-catalog/dto/create-xp-area.dto.ts +40 -0
  413. package/src/xp-catalog/dto/create-xp-learning-type.dto.ts +35 -0
  414. package/src/xp-catalog/dto/create-xp-skill.dto.ts +35 -0
  415. package/src/xp-catalog/dto/update-xp-area.dto.ts +43 -0
  416. package/src/xp-catalog/dto/update-xp-learning-type.dto.ts +38 -0
  417. package/src/xp-catalog/dto/update-xp-skill.dto.ts +38 -0
  418. package/src/xp-catalog/xp-area.controller.ts +64 -0
  419. package/src/xp-catalog/xp-area.service.ts +196 -0
  420. package/src/xp-catalog/xp-catalog.module.ts +16 -0
  421. package/src/xp-catalog/xp-learning-type.controller.ts +59 -0
  422. package/src/xp-catalog/xp-learning-type.service.ts +170 -0
  423. package/src/xp-catalog/xp-skill.controller.ts +71 -0
  424. package/src/xp-catalog/xp-skill.service.ts +205 -0
  425. package/hedhog/data/video_resolution_profile.yaml +0 -7
  426. package/hedhog/frontend/app/video-resolution-profiles/page.tsx.ejs +0 -607
  427. package/hedhog/table/course_video_resolution_profile.yaml +0 -22
  428. package/hedhog/table/video_resolution_profile.yaml +0 -18
  429. package/src/video-resolution-profile/dto/create-video-resolution-profile.dto.ts +0 -16
  430. package/src/video-resolution-profile/dto/update-video-resolution-profile.dto.ts +0 -16
  431. package/src/video-resolution-profile/video-resolution-profile.controller.ts +0 -62
  432. package/src/video-resolution-profile/video-resolution-profile.mcp-tools.ts +0 -128
  433. package/src/video-resolution-profile/video-resolution-profile.module.ts +0 -13
  434. package/src/video-resolution-profile/video-resolution-profile.service.ts +0 -117
@@ -0,0 +1,1834 @@
1
+ # Fundamentos
2
+ - slug: logica-de-programacao
3
+ xp_area_id:
4
+ where:
5
+ slug: fundamentos
6
+ name:
7
+ en: Programming Logic
8
+ pt: Lógica de Programação
9
+ sort_order: 1
10
+ status: active
11
+
12
+ - slug: algoritmos
13
+ xp_area_id:
14
+ where:
15
+ slug: fundamentos
16
+ name:
17
+ en: Algorithms
18
+ pt: Algoritmos
19
+ sort_order: 2
20
+ status: active
21
+
22
+ - slug: estruturas-de-dados
23
+ xp_area_id:
24
+ where:
25
+ slug: fundamentos
26
+ name:
27
+ en: Data Structures
28
+ pt: Estruturas de Dados
29
+ sort_order: 3
30
+ status: active
31
+
32
+ - slug: programacao-orientada-a-objetos
33
+ xp_area_id:
34
+ where:
35
+ slug: fundamentos
36
+ name:
37
+ en: Object-Oriented Programming
38
+ pt: Programação Orientada a Objetos
39
+ sort_order: 4
40
+ status: active
41
+
42
+ - slug: git
43
+ xp_area_id:
44
+ where:
45
+ slug: fundamentos
46
+ name:
47
+ en: Git
48
+ pt: Git
49
+ sort_order: 5
50
+ status: active
51
+
52
+ - slug: github
53
+ xp_area_id:
54
+ where:
55
+ slug: fundamentos
56
+ name:
57
+ en: GitHub
58
+ pt: GitHub
59
+ sort_order: 6
60
+ status: active
61
+
62
+ - slug: terminal
63
+ xp_area_id:
64
+ where:
65
+ slug: fundamentos
66
+ name:
67
+ en: Terminal
68
+ pt: Terminal
69
+ sort_order: 7
70
+ status: active
71
+
72
+ - slug: json
73
+ xp_area_id:
74
+ where:
75
+ slug: fundamentos
76
+ name:
77
+ en: JSON
78
+ pt: JSON
79
+ sort_order: 8
80
+ status: active
81
+
82
+ - slug: markdown
83
+ xp_area_id:
84
+ where:
85
+ slug: fundamentos
86
+ name:
87
+ en: Markdown
88
+ pt: Markdown
89
+ sort_order: 9
90
+ status: active
91
+
92
+ - slug: fundamentos-de-programacao
93
+ xp_area_id:
94
+ where:
95
+ slug: fundamentos
96
+ name:
97
+ en: Programming Fundamentals
98
+ pt: Fundamentos de Programação
99
+ sort_order: 10
100
+ status: active
101
+
102
+ # Frontend
103
+ - slug: html
104
+ xp_area_id:
105
+ where:
106
+ slug: frontend
107
+ name:
108
+ en: HTML
109
+ pt: HTML
110
+ sort_order: 20
111
+ status: active
112
+
113
+ - slug: css
114
+ xp_area_id:
115
+ where:
116
+ slug: frontend
117
+ name:
118
+ en: CSS
119
+ pt: CSS
120
+ sort_order: 21
121
+ status: active
122
+
123
+ - slug: javascript
124
+ xp_area_id:
125
+ where:
126
+ slug: frontend
127
+ name:
128
+ en: JavaScript
129
+ pt: JavaScript
130
+ sort_order: 22
131
+ status: active
132
+
133
+ - slug: typescript
134
+ xp_area_id:
135
+ where:
136
+ slug: frontend
137
+ name:
138
+ en: TypeScript
139
+ pt: TypeScript
140
+ sort_order: 23
141
+ status: active
142
+
143
+ - slug: react
144
+ xp_area_id:
145
+ where:
146
+ slug: frontend
147
+ name:
148
+ en: React
149
+ pt: React
150
+ sort_order: 24
151
+ status: active
152
+
153
+ - slug: nextjs
154
+ xp_area_id:
155
+ where:
156
+ slug: frontend
157
+ name:
158
+ en: Next.js
159
+ pt: Next.js
160
+ sort_order: 25
161
+ status: active
162
+
163
+ - slug: vue
164
+ xp_area_id:
165
+ where:
166
+ slug: frontend
167
+ name:
168
+ en: Vue.js
169
+ pt: Vue.js
170
+ sort_order: 26
171
+ status: active
172
+
173
+ - slug: tailwindcss
174
+ xp_area_id:
175
+ where:
176
+ slug: frontend
177
+ name:
178
+ en: Tailwind CSS
179
+ pt: Tailwind CSS
180
+ sort_order: 27
181
+ status: active
182
+
183
+ - slug: bootstrap
184
+ xp_area_id:
185
+ where:
186
+ slug: frontend
187
+ name:
188
+ en: Bootstrap
189
+ pt: Bootstrap
190
+ sort_order: 28
191
+ status: active
192
+
193
+ - slug: jquery
194
+ xp_area_id:
195
+ where:
196
+ slug: frontend
197
+ name:
198
+ en: jQuery
199
+ pt: jQuery
200
+ sort_order: 29
201
+ status: active
202
+
203
+ - slug: responsividade
204
+ xp_area_id:
205
+ where:
206
+ slug: frontend
207
+ name:
208
+ en: Responsive Design
209
+ pt: Responsividade
210
+ sort_order: 30
211
+ status: active
212
+
213
+ - slug: acessibilidade
214
+ xp_area_id:
215
+ where:
216
+ slug: frontend
217
+ name:
218
+ en: Accessibility
219
+ pt: Acessibilidade
220
+ sort_order: 31
221
+ status: active
222
+
223
+ - slug: ui-components
224
+ xp_area_id:
225
+ where:
226
+ slug: frontend
227
+ name:
228
+ en: UI Components
229
+ pt: UI Components
230
+ sort_order: 32
231
+ status: active
232
+
233
+ - slug: formularios-web
234
+ xp_area_id:
235
+ where:
236
+ slug: frontend
237
+ name:
238
+ en: Web Forms
239
+ pt: Formulários Web
240
+ sort_order: 33
241
+ status: active
242
+
243
+ - slug: estado-no-frontend
244
+ xp_area_id:
245
+ where:
246
+ slug: frontend
247
+ name:
248
+ en: Frontend State Management
249
+ pt: Estado no Frontend
250
+ sort_order: 34
251
+ status: active
252
+
253
+ - slug: performance-frontend
254
+ xp_area_id:
255
+ where:
256
+ slug: frontend
257
+ name:
258
+ en: Frontend Performance
259
+ pt: Performance Frontend
260
+ sort_order: 35
261
+ status: active
262
+
263
+ # Backend
264
+ - slug: nodejs
265
+ xp_area_id:
266
+ where:
267
+ slug: backend
268
+ name:
269
+ en: Node.js
270
+ pt: Node.js
271
+ sort_order: 40
272
+ status: active
273
+
274
+ - slug: nestjs
275
+ xp_area_id:
276
+ where:
277
+ slug: backend
278
+ name:
279
+ en: NestJS
280
+ pt: NestJS
281
+ sort_order: 41
282
+ status: active
283
+
284
+ - slug: express
285
+ xp_area_id:
286
+ where:
287
+ slug: backend
288
+ name:
289
+ en: Express.js
290
+ pt: Express.js
291
+ sort_order: 42
292
+ status: active
293
+
294
+ - slug: python
295
+ xp_area_id:
296
+ where:
297
+ slug: backend
298
+ name:
299
+ en: Python
300
+ pt: Python
301
+ sort_order: 43
302
+ status: active
303
+
304
+ - slug: php
305
+ xp_area_id:
306
+ where:
307
+ slug: backend
308
+ name:
309
+ en: PHP
310
+ pt: PHP
311
+ sort_order: 44
312
+ status: active
313
+
314
+ - slug: laravel
315
+ xp_area_id:
316
+ where:
317
+ slug: backend
318
+ name:
319
+ en: Laravel
320
+ pt: Laravel
321
+ sort_order: 45
322
+ status: active
323
+
324
+ - slug: java
325
+ xp_area_id:
326
+ where:
327
+ slug: backend
328
+ name:
329
+ en: Java
330
+ pt: Java
331
+ sort_order: 46
332
+ status: active
333
+
334
+ - slug: csharp
335
+ xp_area_id:
336
+ where:
337
+ slug: backend
338
+ name:
339
+ en: C#
340
+ pt: C#
341
+ sort_order: 47
342
+ status: active
343
+
344
+ - slug: rest-api
345
+ xp_area_id:
346
+ where:
347
+ slug: backend
348
+ name:
349
+ en: REST API
350
+ pt: REST API
351
+ sort_order: 48
352
+ status: active
353
+
354
+ - slug: graphql
355
+ xp_area_id:
356
+ where:
357
+ slug: backend
358
+ name:
359
+ en: GraphQL
360
+ pt: GraphQL
361
+ sort_order: 49
362
+ status: active
363
+
364
+ - slug: autenticacao
365
+ xp_area_id:
366
+ where:
367
+ slug: backend
368
+ name:
369
+ en: Authentication
370
+ pt: Autenticação
371
+ sort_order: 50
372
+ status: active
373
+
374
+ - slug: autorizacao
375
+ xp_area_id:
376
+ where:
377
+ slug: backend
378
+ name:
379
+ en: Authorization
380
+ pt: Autorização
381
+ sort_order: 51
382
+ status: active
383
+
384
+ - slug: jwt
385
+ xp_area_id:
386
+ where:
387
+ slug: backend
388
+ name:
389
+ en: JWT
390
+ pt: JWT
391
+ sort_order: 52
392
+ status: active
393
+
394
+ - slug: oauth
395
+ xp_area_id:
396
+ where:
397
+ slug: backend
398
+ name:
399
+ en: OAuth
400
+ pt: OAuth
401
+ sort_order: 53
402
+ status: active
403
+
404
+ - slug: webhooks
405
+ xp_area_id:
406
+ where:
407
+ slug: backend
408
+ name:
409
+ en: Webhooks
410
+ pt: Webhooks
411
+ sort_order: 54
412
+ status: active
413
+
414
+ - slug: filas
415
+ xp_area_id:
416
+ where:
417
+ slug: backend
418
+ name:
419
+ en: Queues
420
+ pt: Filas
421
+ sort_order: 55
422
+ status: active
423
+
424
+ - slug: validacao-de-dados
425
+ xp_area_id:
426
+ where:
427
+ slug: backend
428
+ name:
429
+ en: Data Validation
430
+ pt: Validação de Dados
431
+ sort_order: 56
432
+ status: active
433
+
434
+ - slug: upload-de-arquivos
435
+ xp_area_id:
436
+ where:
437
+ slug: backend
438
+ name:
439
+ en: File Upload
440
+ pt: Upload de Arquivos
441
+ sort_order: 57
442
+ status: active
443
+
444
+ # Banco de Dados
445
+ - slug: sql
446
+ xp_area_id:
447
+ where:
448
+ slug: banco-de-dados
449
+ name:
450
+ en: SQL
451
+ pt: SQL
452
+ sort_order: 60
453
+ status: active
454
+
455
+ - slug: postgresql
456
+ xp_area_id:
457
+ where:
458
+ slug: banco-de-dados
459
+ name:
460
+ en: PostgreSQL
461
+ pt: PostgreSQL
462
+ sort_order: 61
463
+ status: active
464
+
465
+ - slug: mysql
466
+ xp_area_id:
467
+ where:
468
+ slug: banco-de-dados
469
+ name:
470
+ en: MySQL
471
+ pt: MySQL
472
+ sort_order: 62
473
+ status: active
474
+
475
+ - slug: sql-server
476
+ xp_area_id:
477
+ where:
478
+ slug: banco-de-dados
479
+ name:
480
+ en: SQL Server
481
+ pt: SQL Server
482
+ sort_order: 63
483
+ status: active
484
+
485
+ - slug: mongodb
486
+ xp_area_id:
487
+ where:
488
+ slug: banco-de-dados
489
+ name:
490
+ en: MongoDB
491
+ pt: MongoDB
492
+ sort_order: 64
493
+ status: active
494
+
495
+ - slug: redis
496
+ xp_area_id:
497
+ where:
498
+ slug: banco-de-dados
499
+ name:
500
+ en: Redis
501
+ pt: Redis
502
+ sort_order: 65
503
+ status: active
504
+
505
+ - slug: prisma
506
+ xp_area_id:
507
+ where:
508
+ slug: banco-de-dados
509
+ name:
510
+ en: Prisma ORM
511
+ pt: Prisma ORM
512
+ sort_order: 66
513
+ status: active
514
+
515
+ - slug: typeorm
516
+ xp_area_id:
517
+ where:
518
+ slug: banco-de-dados
519
+ name:
520
+ en: TypeORM
521
+ pt: TypeORM
522
+ sort_order: 67
523
+ status: active
524
+
525
+ - slug: modelagem-de-dados
526
+ xp_area_id:
527
+ where:
528
+ slug: banco-de-dados
529
+ name:
530
+ en: Data Modeling
531
+ pt: Modelagem de Dados
532
+ sort_order: 68
533
+ status: active
534
+
535
+ - slug: migrations
536
+ xp_area_id:
537
+ where:
538
+ slug: banco-de-dados
539
+ name:
540
+ en: Migrations
541
+ pt: Migrations
542
+ sort_order: 69
543
+ status: active
544
+
545
+ - slug: indices
546
+ xp_area_id:
547
+ where:
548
+ slug: banco-de-dados
549
+ name:
550
+ en: Indexes
551
+ pt: Índices
552
+ sort_order: 70
553
+ status: active
554
+
555
+ - slug: queries
556
+ xp_area_id:
557
+ where:
558
+ slug: banco-de-dados
559
+ name:
560
+ en: Queries
561
+ pt: Queries
562
+ sort_order: 71
563
+ status: active
564
+
565
+ - slug: transacoes
566
+ xp_area_id:
567
+ where:
568
+ slug: banco-de-dados
569
+ name:
570
+ en: Transactions
571
+ pt: Transações
572
+ sort_order: 72
573
+ status: active
574
+
575
+ - slug: backup-e-restore
576
+ xp_area_id:
577
+ where:
578
+ slug: banco-de-dados
579
+ name:
580
+ en: Backup and Restore
581
+ pt: Backup e Restore
582
+ sort_order: 73
583
+ status: active
584
+
585
+ # Mobile
586
+ - slug: react-native
587
+ xp_area_id:
588
+ where:
589
+ slug: mobile
590
+ name:
591
+ en: React Native
592
+ pt: React Native
593
+ sort_order: 80
594
+ status: active
595
+
596
+ - slug: expo
597
+ xp_area_id:
598
+ where:
599
+ slug: mobile
600
+ name:
601
+ en: Expo
602
+ pt: Expo
603
+ sort_order: 81
604
+ status: active
605
+
606
+ - slug: android
607
+ xp_area_id:
608
+ where:
609
+ slug: mobile
610
+ name:
611
+ en: Android
612
+ pt: Android
613
+ sort_order: 82
614
+ status: active
615
+
616
+ - slug: ios
617
+ xp_area_id:
618
+ where:
619
+ slug: mobile
620
+ name:
621
+ en: iOS
622
+ pt: iOS
623
+ sort_order: 83
624
+ status: active
625
+
626
+ - slug: publicacao-de-apps
627
+ xp_area_id:
628
+ where:
629
+ slug: mobile
630
+ name:
631
+ en: App Publishing
632
+ pt: Publicação de Apps
633
+ sort_order: 84
634
+ status: active
635
+
636
+ - slug: layout-mobile
637
+ xp_area_id:
638
+ where:
639
+ slug: mobile
640
+ name:
641
+ en: Mobile Layout
642
+ pt: Layout Mobile
643
+ sort_order: 85
644
+ status: active
645
+
646
+ - slug: recursos-nativos
647
+ xp_area_id:
648
+ where:
649
+ slug: mobile
650
+ name:
651
+ en: Native Features
652
+ pt: Recursos Nativos
653
+ sort_order: 86
654
+ status: active
655
+
656
+ # Sistemas Operacionais
657
+ - slug: linux
658
+ xp_area_id:
659
+ where:
660
+ slug: sistemas-operacionais
661
+ name:
662
+ en: Linux
663
+ pt: Linux
664
+ sort_order: 90
665
+ status: active
666
+
667
+ - slug: windows
668
+ xp_area_id:
669
+ where:
670
+ slug: sistemas-operacionais
671
+ name:
672
+ en: Windows
673
+ pt: Windows
674
+ sort_order: 91
675
+ status: active
676
+
677
+ - slug: macos
678
+ xp_area_id:
679
+ where:
680
+ slug: sistemas-operacionais
681
+ name:
682
+ en: macOS
683
+ pt: macOS
684
+ sort_order: 92
685
+ status: active
686
+
687
+ - slug: shell-script
688
+ xp_area_id:
689
+ where:
690
+ slug: sistemas-operacionais
691
+ name:
692
+ en: Shell Script
693
+ pt: Shell Script
694
+ sort_order: 93
695
+ status: active
696
+
697
+ - slug: bash
698
+ xp_area_id:
699
+ where:
700
+ slug: sistemas-operacionais
701
+ name:
702
+ en: Bash
703
+ pt: Bash
704
+ sort_order: 94
705
+ status: active
706
+
707
+ - slug: powershell
708
+ xp_area_id:
709
+ where:
710
+ slug: sistemas-operacionais
711
+ name:
712
+ en: PowerShell
713
+ pt: PowerShell
714
+ sort_order: 95
715
+ status: active
716
+
717
+ - slug: permissoes
718
+ xp_area_id:
719
+ where:
720
+ slug: sistemas-operacionais
721
+ name:
722
+ en: Permissions
723
+ pt: Permissões
724
+ sort_order: 96
725
+ status: active
726
+
727
+ - slug: processos
728
+ xp_area_id:
729
+ where:
730
+ slug: sistemas-operacionais
731
+ name:
732
+ en: Processes
733
+ pt: Processos
734
+ sort_order: 97
735
+ status: active
736
+
737
+ - slug: servicos-do-sistema
738
+ xp_area_id:
739
+ where:
740
+ slug: sistemas-operacionais
741
+ name:
742
+ en: System Services
743
+ pt: Serviços do Sistema
744
+ sort_order: 98
745
+ status: active
746
+
747
+ - slug: systemd
748
+ xp_area_id:
749
+ where:
750
+ slug: sistemas-operacionais
751
+ name:
752
+ en: systemd
753
+ pt: systemd
754
+ sort_order: 99
755
+ status: active
756
+
757
+ - slug: filesystem
758
+ xp_area_id:
759
+ where:
760
+ slug: sistemas-operacionais
761
+ name:
762
+ en: Filesystem
763
+ pt: Filesystem
764
+ sort_order: 100
765
+ status: active
766
+
767
+ - slug: administracao-de-servidores
768
+ xp_area_id:
769
+ where:
770
+ slug: sistemas-operacionais
771
+ name:
772
+ en: Server Administration
773
+ pt: Administração de Servidores
774
+ sort_order: 101
775
+ status: active
776
+
777
+ # Redes
778
+ - slug: http
779
+ xp_area_id:
780
+ where:
781
+ slug: redes
782
+ name:
783
+ en: HTTP
784
+ pt: HTTP
785
+ sort_order: 110
786
+ status: active
787
+
788
+ - slug: https
789
+ xp_area_id:
790
+ where:
791
+ slug: redes
792
+ name:
793
+ en: HTTPS
794
+ pt: HTTPS
795
+ sort_order: 111
796
+ status: active
797
+
798
+ - slug: dns
799
+ xp_area_id:
800
+ where:
801
+ slug: redes
802
+ name:
803
+ en: DNS
804
+ pt: DNS
805
+ sort_order: 112
806
+ status: active
807
+
808
+ - slug: tcp-ip
809
+ xp_area_id:
810
+ where:
811
+ slug: redes
812
+ name:
813
+ en: TCP/IP
814
+ pt: TCP/IP
815
+ sort_order: 113
816
+ status: active
817
+
818
+ - slug: tls-ssl
819
+ xp_area_id:
820
+ where:
821
+ slug: redes
822
+ name:
823
+ en: TLS/SSL
824
+ pt: TLS/SSL
825
+ sort_order: 114
826
+ status: active
827
+
828
+ - slug: portas-e-protocolos
829
+ xp_area_id:
830
+ where:
831
+ slug: redes
832
+ name:
833
+ en: Ports and Protocols
834
+ pt: Portas e Protocolos
835
+ sort_order: 115
836
+ status: active
837
+
838
+ - slug: proxy
839
+ xp_area_id:
840
+ where:
841
+ slug: redes
842
+ name:
843
+ en: Proxy
844
+ pt: Proxy
845
+ sort_order: 116
846
+ status: active
847
+
848
+ - slug: load-balancer
849
+ xp_area_id:
850
+ where:
851
+ slug: redes
852
+ name:
853
+ en: Load Balancer
854
+ pt: Load Balancer
855
+ sort_order: 117
856
+ status: active
857
+
858
+ - slug: websocket
859
+ xp_area_id:
860
+ where:
861
+ slug: redes
862
+ name:
863
+ en: WebSocket
864
+ pt: WebSocket
865
+ sort_order: 118
866
+ status: active
867
+
868
+ - slug: sse
869
+ xp_area_id:
870
+ where:
871
+ slug: redes
872
+ name:
873
+ en: Server-Sent Events
874
+ pt: Server-Sent Events
875
+ sort_order: 119
876
+ status: active
877
+
878
+ - slug: grpc
879
+ xp_area_id:
880
+ where:
881
+ slug: redes
882
+ name:
883
+ en: gRPC
884
+ pt: gRPC
885
+ sort_order: 120
886
+ status: active
887
+
888
+ - slug: cdn
889
+ xp_area_id:
890
+ where:
891
+ slug: redes
892
+ name:
893
+ en: CDN
894
+ pt: CDN
895
+ sort_order: 121
896
+ status: active
897
+
898
+ - slug: firewall
899
+ xp_area_id:
900
+ where:
901
+ slug: redes
902
+ name:
903
+ en: Firewall
904
+ pt: Firewall
905
+ sort_order: 122
906
+ status: active
907
+
908
+ - slug: vpn
909
+ xp_area_id:
910
+ where:
911
+ slug: redes
912
+ name:
913
+ en: VPN
914
+ pt: VPN
915
+ sort_order: 123
916
+ status: active
917
+
918
+ # DevOps
919
+ - slug: docker
920
+ xp_area_id:
921
+ where:
922
+ slug: devops
923
+ name:
924
+ en: Docker
925
+ pt: Docker
926
+ sort_order: 130
927
+ status: active
928
+
929
+ - slug: kubernetes
930
+ xp_area_id:
931
+ where:
932
+ slug: devops
933
+ name:
934
+ en: Kubernetes
935
+ pt: Kubernetes
936
+ sort_order: 131
937
+ status: active
938
+
939
+ - slug: github-actions
940
+ xp_area_id:
941
+ where:
942
+ slug: devops
943
+ name:
944
+ en: GitHub Actions
945
+ pt: GitHub Actions
946
+ sort_order: 132
947
+ status: active
948
+
949
+ - slug: ci-cd
950
+ xp_area_id:
951
+ where:
952
+ slug: devops
953
+ name:
954
+ en: CI/CD
955
+ pt: CI/CD
956
+ sort_order: 133
957
+ status: active
958
+
959
+ - slug: deploy
960
+ xp_area_id:
961
+ where:
962
+ slug: devops
963
+ name:
964
+ en: Deploy
965
+ pt: Deploy
966
+ sort_order: 134
967
+ status: active
968
+
969
+ - slug: nginx
970
+ xp_area_id:
971
+ where:
972
+ slug: devops
973
+ name:
974
+ en: Nginx
975
+ pt: Nginx
976
+ sort_order: 135
977
+ status: active
978
+
979
+ - slug: observabilidade
980
+ xp_area_id:
981
+ where:
982
+ slug: devops
983
+ name:
984
+ en: Observability
985
+ pt: Observabilidade
986
+ sort_order: 136
987
+ status: active
988
+
989
+ - slug: logs
990
+ xp_area_id:
991
+ where:
992
+ slug: devops
993
+ name:
994
+ en: Logs
995
+ pt: Logs
996
+ sort_order: 137
997
+ status: active
998
+
999
+ - slug: monitoramento
1000
+ xp_area_id:
1001
+ where:
1002
+ slug: devops
1003
+ name:
1004
+ en: Monitoring
1005
+ pt: Monitoramento
1006
+ sort_order: 138
1007
+ status: active
1008
+
1009
+ - slug: infraestrutura-como-codigo
1010
+ xp_area_id:
1011
+ where:
1012
+ slug: devops
1013
+ name:
1014
+ en: Infrastructure as Code
1015
+ pt: Infraestrutura como Código
1016
+ sort_order: 139
1017
+ status: active
1018
+
1019
+ - slug: terraform
1020
+ xp_area_id:
1021
+ where:
1022
+ slug: devops
1023
+ name:
1024
+ en: Terraform
1025
+ pt: Terraform
1026
+ sort_order: 140
1027
+ status: active
1028
+
1029
+ - slug: harbor
1030
+ xp_area_id:
1031
+ where:
1032
+ slug: devops
1033
+ name:
1034
+ en: Harbor
1035
+ pt: Harbor
1036
+ sort_order: 141
1037
+ status: active
1038
+
1039
+ - slug: helm
1040
+ xp_area_id:
1041
+ where:
1042
+ slug: devops
1043
+ name:
1044
+ en: Helm
1045
+ pt: Helm
1046
+ sort_order: 142
1047
+ status: active
1048
+
1049
+ # Cloud
1050
+ - slug: aws
1051
+ xp_area_id:
1052
+ where:
1053
+ slug: cloud
1054
+ name:
1055
+ en: AWS
1056
+ pt: AWS
1057
+ sort_order: 150
1058
+ status: active
1059
+
1060
+ - slug: azure
1061
+ xp_area_id:
1062
+ where:
1063
+ slug: cloud
1064
+ name:
1065
+ en: Azure
1066
+ pt: Azure
1067
+ sort_order: 151
1068
+ status: active
1069
+
1070
+ - slug: gcp
1071
+ xp_area_id:
1072
+ where:
1073
+ slug: cloud
1074
+ name:
1075
+ en: Google Cloud
1076
+ pt: Google Cloud
1077
+ sort_order: 152
1078
+ status: active
1079
+
1080
+ - slug: digitalocean
1081
+ xp_area_id:
1082
+ where:
1083
+ slug: cloud
1084
+ name:
1085
+ en: DigitalOcean
1086
+ pt: DigitalOcean
1087
+ sort_order: 153
1088
+ status: active
1089
+
1090
+ - slug: s3
1091
+ xp_area_id:
1092
+ where:
1093
+ slug: cloud
1094
+ name:
1095
+ en: S3
1096
+ pt: S3
1097
+ sort_order: 154
1098
+ status: active
1099
+
1100
+ - slug: azure-blob-storage
1101
+ xp_area_id:
1102
+ where:
1103
+ slug: cloud
1104
+ name:
1105
+ en: Azure Blob Storage
1106
+ pt: Azure Blob Storage
1107
+ sort_order: 155
1108
+ status: active
1109
+
1110
+ - slug: cloudfront
1111
+ xp_area_id:
1112
+ where:
1113
+ slug: cloud
1114
+ name:
1115
+ en: CloudFront
1116
+ pt: CloudFront
1117
+ sort_order: 156
1118
+ status: active
1119
+
1120
+ - slug: iam
1121
+ xp_area_id:
1122
+ where:
1123
+ slug: cloud
1124
+ name:
1125
+ en: IAM
1126
+ pt: IAM
1127
+ sort_order: 157
1128
+ status: active
1129
+
1130
+ - slug: serverless
1131
+ xp_area_id:
1132
+ where:
1133
+ slug: cloud
1134
+ name:
1135
+ en: Serverless
1136
+ pt: Serverless
1137
+ sort_order: 158
1138
+ status: active
1139
+
1140
+ - slug: lambda
1141
+ xp_area_id:
1142
+ where:
1143
+ slug: cloud
1144
+ name:
1145
+ en: Lambda
1146
+ pt: Lambda
1147
+ sort_order: 159
1148
+ status: active
1149
+
1150
+ - slug: compute-cloud
1151
+ xp_area_id:
1152
+ where:
1153
+ slug: cloud
1154
+ name:
1155
+ en: Compute Cloud
1156
+ pt: Compute Cloud
1157
+ sort_order: 160
1158
+ status: active
1159
+
1160
+ - slug: storage-cloud
1161
+ xp_area_id:
1162
+ where:
1163
+ slug: cloud
1164
+ name:
1165
+ en: Storage Cloud
1166
+ pt: Storage Cloud
1167
+ sort_order: 161
1168
+ status: active
1169
+
1170
+ - slug: cloudflare
1171
+ xp_area_id:
1172
+ where:
1173
+ slug: cloud
1174
+ name:
1175
+ en: Cloudflare
1176
+ pt: Cloudflare
1177
+ sort_order: 162
1178
+ status: active
1179
+
1180
+ # Segurança
1181
+ - slug: seguranca-web
1182
+ xp_area_id:
1183
+ where:
1184
+ slug: seguranca
1185
+ name:
1186
+ en: Web Security
1187
+ pt: Segurança Web
1188
+ sort_order: 170
1189
+ status: active
1190
+
1191
+ - slug: seguranca-de-apis
1192
+ xp_area_id:
1193
+ where:
1194
+ slug: seguranca
1195
+ name:
1196
+ en: API Security
1197
+ pt: Segurança de APIs
1198
+ sort_order: 171
1199
+ status: active
1200
+
1201
+ - slug: criptografia
1202
+ xp_area_id:
1203
+ where:
1204
+ slug: seguranca
1205
+ name:
1206
+ en: Cryptography
1207
+ pt: Criptografia
1208
+ sort_order: 172
1209
+ status: active
1210
+
1211
+ - slug: rbac
1212
+ xp_area_id:
1213
+ where:
1214
+ slug: seguranca
1215
+ name:
1216
+ en: RBAC
1217
+ pt: RBAC
1218
+ sort_order: 173
1219
+ status: active
1220
+
1221
+ - slug: mfa
1222
+ xp_area_id:
1223
+ where:
1224
+ slug: seguranca
1225
+ name:
1226
+ en: MFA
1227
+ pt: MFA
1228
+ sort_order: 174
1229
+ status: active
1230
+
1231
+ - slug: pentest
1232
+ xp_area_id:
1233
+ where:
1234
+ slug: seguranca
1235
+ name:
1236
+ en: Pentest
1237
+ pt: Pentest
1238
+ sort_order: 175
1239
+ status: active
1240
+
1241
+ - slug: owasp
1242
+ xp_area_id:
1243
+ where:
1244
+ slug: seguranca
1245
+ name:
1246
+ en: OWASP
1247
+ pt: OWASP
1248
+ sort_order: 176
1249
+ status: active
1250
+
1251
+ - slug: gestao-de-segredos
1252
+ xp_area_id:
1253
+ where:
1254
+ slug: seguranca
1255
+ name:
1256
+ en: Secrets Management
1257
+ pt: Gestão de Segredos
1258
+ sort_order: 177
1259
+ status: active
1260
+
1261
+ - slug: vault
1262
+ xp_area_id:
1263
+ where:
1264
+ slug: seguranca
1265
+ name:
1266
+ en: Vault
1267
+ pt: Vault
1268
+ sort_order: 178
1269
+ status: active
1270
+
1271
+ - slug: lgpd
1272
+ xp_area_id:
1273
+ where:
1274
+ slug: seguranca
1275
+ name:
1276
+ en: LGPD
1277
+ pt: LGPD
1278
+ sort_order: 179
1279
+ status: active
1280
+
1281
+ - slug: hardening
1282
+ xp_area_id:
1283
+ where:
1284
+ slug: seguranca
1285
+ name:
1286
+ en: Hardening
1287
+ pt: Hardening
1288
+ sort_order: 180
1289
+ status: active
1290
+
1291
+ # Inteligência Artificial
1292
+ - slug: openai-api
1293
+ xp_area_id:
1294
+ where:
1295
+ slug: inteligencia-artificial
1296
+ name:
1297
+ en: OpenAI API
1298
+ pt: OpenAI API
1299
+ sort_order: 190
1300
+ status: active
1301
+
1302
+ - slug: langchain
1303
+ xp_area_id:
1304
+ where:
1305
+ slug: inteligencia-artificial
1306
+ name:
1307
+ en: LangChain
1308
+ pt: LangChain
1309
+ sort_order: 191
1310
+ status: active
1311
+
1312
+ - slug: prompt-engineering
1313
+ xp_area_id:
1314
+ where:
1315
+ slug: inteligencia-artificial
1316
+ name:
1317
+ en: Prompt Engineering
1318
+ pt: Engenharia de Prompt
1319
+ sort_order: 192
1320
+ status: active
1321
+
1322
+ - slug: llms
1323
+ xp_area_id:
1324
+ where:
1325
+ slug: inteligencia-artificial
1326
+ name:
1327
+ en: LLMs
1328
+ pt: LLMs
1329
+ sort_order: 193
1330
+ status: active
1331
+
1332
+ - slug: ia-generativa
1333
+ xp_area_id:
1334
+ where:
1335
+ slug: inteligencia-artificial
1336
+ name:
1337
+ en: Generative AI
1338
+ pt: IA Generativa
1339
+ sort_order: 194
1340
+ status: active
1341
+
1342
+ - slug: rag
1343
+ xp_area_id:
1344
+ where:
1345
+ slug: inteligencia-artificial
1346
+ name:
1347
+ en: RAG
1348
+ pt: RAG
1349
+ sort_order: 195
1350
+ status: active
1351
+
1352
+ - slug: embeddings
1353
+ xp_area_id:
1354
+ where:
1355
+ slug: inteligencia-artificial
1356
+ name:
1357
+ en: Embeddings
1358
+ pt: Embeddings
1359
+ sort_order: 196
1360
+ status: active
1361
+
1362
+ - slug: vector-database
1363
+ xp_area_id:
1364
+ where:
1365
+ slug: inteligencia-artificial
1366
+ name:
1367
+ en: Vector Database
1368
+ pt: Vector Database
1369
+ sort_order: 197
1370
+ status: active
1371
+
1372
+ - slug: agentes-de-ia
1373
+ xp_area_id:
1374
+ where:
1375
+ slug: inteligencia-artificial
1376
+ name:
1377
+ en: AI Agents
1378
+ pt: Agentes de IA
1379
+ sort_order: 198
1380
+ status: active
1381
+
1382
+ - slug: fine-tuning
1383
+ xp_area_id:
1384
+ where:
1385
+ slug: inteligencia-artificial
1386
+ name:
1387
+ en: Fine-tuning
1388
+ pt: Fine-tuning
1389
+ sort_order: 199
1390
+ status: active
1391
+
1392
+ - slug: automacao-com-ia
1393
+ xp_area_id:
1394
+ where:
1395
+ slug: inteligencia-artificial
1396
+ name:
1397
+ en: Automation with AI
1398
+ pt: Automação com IA
1399
+ sort_order: 200
1400
+ status: active
1401
+
1402
+ - slug: azure-ai
1403
+ xp_area_id:
1404
+ where:
1405
+ slug: inteligencia-artificial
1406
+ name:
1407
+ en: Azure AI
1408
+ pt: Azure AI
1409
+ sort_order: 201
1410
+ status: active
1411
+
1412
+ # Arquitetura
1413
+ - slug: clean-architecture
1414
+ xp_area_id:
1415
+ where:
1416
+ slug: arquitetura
1417
+ name:
1418
+ en: Clean Architecture
1419
+ pt: Clean Architecture
1420
+ sort_order: 210
1421
+ status: active
1422
+
1423
+ - slug: design-patterns
1424
+ xp_area_id:
1425
+ where:
1426
+ slug: arquitetura
1427
+ name:
1428
+ en: Design Patterns
1429
+ pt: Design Patterns
1430
+ sort_order: 211
1431
+ status: active
1432
+
1433
+ - slug: microservices
1434
+ xp_area_id:
1435
+ where:
1436
+ slug: arquitetura
1437
+ name:
1438
+ en: Microservices
1439
+ pt: Microsserviços
1440
+ sort_order: 212
1441
+ status: active
1442
+
1443
+ - slug: solid
1444
+ xp_area_id:
1445
+ where:
1446
+ slug: arquitetura
1447
+ name:
1448
+ en: SOLID
1449
+ pt: SOLID
1450
+ sort_order: 213
1451
+ status: active
1452
+
1453
+ - slug: ddd
1454
+ xp_area_id:
1455
+ where:
1456
+ slug: arquitetura
1457
+ name:
1458
+ en: DDD
1459
+ pt: DDD
1460
+ sort_order: 214
1461
+ status: active
1462
+
1463
+ - slug: monorepo
1464
+ xp_area_id:
1465
+ where:
1466
+ slug: arquitetura
1467
+ name:
1468
+ en: Monorepo
1469
+ pt: Monorepo
1470
+ sort_order: 215
1471
+ status: active
1472
+
1473
+ - slug: event-driven-architecture
1474
+ xp_area_id:
1475
+ where:
1476
+ slug: arquitetura
1477
+ name:
1478
+ en: Event-Driven Architecture
1479
+ pt: Event-Driven Architecture
1480
+ sort_order: 216
1481
+ status: active
1482
+
1483
+ - slug: mensageria
1484
+ xp_area_id:
1485
+ where:
1486
+ slug: arquitetura
1487
+ name:
1488
+ en: Messaging
1489
+ pt: Mensageria
1490
+ sort_order: 217
1491
+ status: active
1492
+
1493
+ - slug: escalabilidade
1494
+ xp_area_id:
1495
+ where:
1496
+ slug: arquitetura
1497
+ name:
1498
+ en: Scalability
1499
+ pt: Escalabilidade
1500
+ sort_order: 218
1501
+ status: active
1502
+
1503
+ - slug: arquitetura-modular
1504
+ xp_area_id:
1505
+ where:
1506
+ slug: arquitetura
1507
+ name:
1508
+ en: Modular Architecture
1509
+ pt: Arquitetura Modular
1510
+ sort_order: 219
1511
+ status: active
1512
+
1513
+ - slug: multi-tenant
1514
+ xp_area_id:
1515
+ where:
1516
+ slug: arquitetura
1517
+ name:
1518
+ en: Multi-tenant
1519
+ pt: Multi-tenant
1520
+ sort_order: 220
1521
+ status: active
1522
+
1523
+ # Testes e Qualidade
1524
+ - slug: testing
1525
+ xp_area_id:
1526
+ where:
1527
+ slug: testes-e-qualidade
1528
+ name:
1529
+ en: Testing
1530
+ pt: Testes
1531
+ sort_order: 230
1532
+ status: active
1533
+
1534
+ - slug: testes-unitarios
1535
+ xp_area_id:
1536
+ where:
1537
+ slug: testes-e-qualidade
1538
+ name:
1539
+ en: Unit Tests
1540
+ pt: Testes Unitários
1541
+ sort_order: 231
1542
+ status: active
1543
+
1544
+ - slug: testes-de-integracao
1545
+ xp_area_id:
1546
+ where:
1547
+ slug: testes-e-qualidade
1548
+ name:
1549
+ en: Integration Tests
1550
+ pt: Testes de Integração
1551
+ sort_order: 232
1552
+ status: active
1553
+
1554
+ - slug: testes-e2e
1555
+ xp_area_id:
1556
+ where:
1557
+ slug: testes-e-qualidade
1558
+ name:
1559
+ en: E2E Tests
1560
+ pt: Testes E2E
1561
+ sort_order: 233
1562
+ status: active
1563
+
1564
+ - slug: jest
1565
+ xp_area_id:
1566
+ where:
1567
+ slug: testes-e-qualidade
1568
+ name:
1569
+ en: Jest
1570
+ pt: Jest
1571
+ sort_order: 234
1572
+ status: active
1573
+
1574
+ - slug: vitest
1575
+ xp_area_id:
1576
+ where:
1577
+ slug: testes-e-qualidade
1578
+ name:
1579
+ en: Vitest
1580
+ pt: Vitest
1581
+ sort_order: 235
1582
+ status: active
1583
+
1584
+ - slug: cypress
1585
+ xp_area_id:
1586
+ where:
1587
+ slug: testes-e-qualidade
1588
+ name:
1589
+ en: Cypress
1590
+ pt: Cypress
1591
+ sort_order: 236
1592
+ status: active
1593
+
1594
+ - slug: playwright
1595
+ xp_area_id:
1596
+ where:
1597
+ slug: testes-e-qualidade
1598
+ name:
1599
+ en: Playwright
1600
+ pt: Playwright
1601
+ sort_order: 237
1602
+ status: active
1603
+
1604
+ - slug: tdd
1605
+ xp_area_id:
1606
+ where:
1607
+ slug: testes-e-qualidade
1608
+ name:
1609
+ en: TDD
1610
+ pt: TDD
1611
+ sort_order: 238
1612
+ status: active
1613
+
1614
+ - slug: lint
1615
+ xp_area_id:
1616
+ where:
1617
+ slug: testes-e-qualidade
1618
+ name:
1619
+ en: Lint
1620
+ pt: Lint
1621
+ sort_order: 239
1622
+ status: active
1623
+
1624
+ - slug: code-review
1625
+ xp_area_id:
1626
+ where:
1627
+ slug: testes-e-qualidade
1628
+ name:
1629
+ en: Code Review
1630
+ pt: Code Review
1631
+ sort_order: 240
1632
+ status: active
1633
+
1634
+ - slug: qualidade-de-codigo
1635
+ xp_area_id:
1636
+ where:
1637
+ slug: testes-e-qualidade
1638
+ name:
1639
+ en: Code Quality
1640
+ pt: Qualidade de Código
1641
+ sort_order: 241
1642
+ status: active
1643
+
1644
+ # UX e Design
1645
+ - slug: figma
1646
+ xp_area_id:
1647
+ where:
1648
+ slug: ux-e-design
1649
+ name:
1650
+ en: Figma
1651
+ pt: Figma
1652
+ sort_order: 250
1653
+ status: active
1654
+
1655
+ - slug: ui-design
1656
+ xp_area_id:
1657
+ where:
1658
+ slug: ux-e-design
1659
+ name:
1660
+ en: UI Design
1661
+ pt: UI Design
1662
+ sort_order: 251
1663
+ status: active
1664
+
1665
+ - slug: ux-design
1666
+ xp_area_id:
1667
+ where:
1668
+ slug: ux-e-design
1669
+ name:
1670
+ en: UX Design
1671
+ pt: UX Design
1672
+ sort_order: 252
1673
+ status: active
1674
+
1675
+ - slug: design-system
1676
+ xp_area_id:
1677
+ where:
1678
+ slug: ux-e-design
1679
+ name:
1680
+ en: Design System
1681
+ pt: Design System
1682
+ sort_order: 253
1683
+ status: active
1684
+
1685
+ - slug: prototipacao
1686
+ xp_area_id:
1687
+ where:
1688
+ slug: ux-e-design
1689
+ name:
1690
+ en: Prototyping
1691
+ pt: Prototipação
1692
+ sort_order: 254
1693
+ status: active
1694
+
1695
+ - slug: wireframe
1696
+ xp_area_id:
1697
+ where:
1698
+ slug: ux-e-design
1699
+ name:
1700
+ en: Wireframe
1701
+ pt: Wireframe
1702
+ sort_order: 255
1703
+ status: active
1704
+
1705
+ - slug: cores-e-tipografia
1706
+ xp_area_id:
1707
+ where:
1708
+ slug: ux-e-design
1709
+ name:
1710
+ en: Color and Typography
1711
+ pt: Cores e Tipografia
1712
+ sort_order: 256
1713
+ status: active
1714
+
1715
+ - slug: layout
1716
+ xp_area_id:
1717
+ where:
1718
+ slug: ux-e-design
1719
+ name:
1720
+ en: Layout
1721
+ pt: Layout
1722
+ sort_order: 257
1723
+ status: active
1724
+
1725
+ - slug: acessibilidade-visual
1726
+ xp_area_id:
1727
+ where:
1728
+ slug: ux-e-design
1729
+ name:
1730
+ en: Visual Accessibility
1731
+ pt: Acessibilidade Visual
1732
+ sort_order: 258
1733
+ status: active
1734
+
1735
+ # Produto e Carreira
1736
+ - slug: produto-digital
1737
+ xp_area_id:
1738
+ where:
1739
+ slug: produto-e-carreira
1740
+ name:
1741
+ en: Digital Product
1742
+ pt: Produto Digital
1743
+ sort_order: 270
1744
+ status: active
1745
+
1746
+ - slug: produtividade
1747
+ xp_area_id:
1748
+ where:
1749
+ slug: produto-e-carreira
1750
+ name:
1751
+ en: Productivity
1752
+ pt: Produtividade
1753
+ sort_order: 271
1754
+ status: active
1755
+
1756
+ - slug: automacao
1757
+ xp_area_id:
1758
+ where:
1759
+ slug: produto-e-carreira
1760
+ name:
1761
+ en: Automation
1762
+ pt: Automação
1763
+ sort_order: 272
1764
+ status: active
1765
+
1766
+ - slug: gestao-de-projetos
1767
+ xp_area_id:
1768
+ where:
1769
+ slug: produto-e-carreira
1770
+ name:
1771
+ en: Project Management
1772
+ pt: Gestão de Projetos
1773
+ sort_order: 273
1774
+ status: active
1775
+
1776
+ - slug: metodologias-ageis
1777
+ xp_area_id:
1778
+ where:
1779
+ slug: produto-e-carreira
1780
+ name:
1781
+ en: Agile Methodologies
1782
+ pt: Metodologias Ágeis
1783
+ sort_order: 274
1784
+ status: active
1785
+
1786
+ - slug: scrum
1787
+ xp_area_id:
1788
+ where:
1789
+ slug: produto-e-carreira
1790
+ name:
1791
+ en: Scrum
1792
+ pt: Scrum
1793
+ sort_order: 275
1794
+ status: active
1795
+
1796
+ - slug: kanban
1797
+ xp_area_id:
1798
+ where:
1799
+ slug: produto-e-carreira
1800
+ name:
1801
+ en: Kanban
1802
+ pt: Kanban
1803
+ sort_order: 276
1804
+ status: active
1805
+
1806
+ - slug: comunicacao-profissional
1807
+ xp_area_id:
1808
+ where:
1809
+ slug: produto-e-carreira
1810
+ name:
1811
+ en: Professional Communication
1812
+ pt: Comunicação Profissional
1813
+ sort_order: 277
1814
+ status: active
1815
+
1816
+ - slug: carreira-em-tecnologia
1817
+ xp_area_id:
1818
+ where:
1819
+ slug: produto-e-carreira
1820
+ name:
1821
+ en: Tech Career
1822
+ pt: Carreira em Tecnologia
1823
+ sort_order: 278
1824
+ status: active
1825
+
1826
+ - slug: documentacao
1827
+ xp_area_id:
1828
+ where:
1829
+ slug: produto-e-carreira
1830
+ name:
1831
+ en: Documentation
1832
+ pt: Documentação
1833
+ sort_order: 279
1834
+ status: active