From 4afd65e683fa6a88104b56b79be8aef46fc2feae Mon Sep 17 00:00:00 2001 From: Tom <20648924+moT01@users.noreply.github.com> Date: Thu, 9 Oct 2025 10:54:56 -0500 Subject: [PATCH] feat(curriculum): add remaining new superblocks (4 of them) (#62611) --- client/config/cert-and-project-map.ts | 56 ++++++++++++ client/i18n/locales/english/intro.json | 90 +++++++++++++++++++ client/src/assets/superblock-icon.tsx | 6 +- .../src/components/settings/certification.tsx | 4 + .../back-end-development-and-apis-v9/index.md | 9 ++ .../index.md | 9 ++ client/src/pages/learn/python-v9/index.md | 9 ++ .../learn/relational-databases-v9/index.md | 9 ++ .../components/super-block-accordion.tsx | 12 +++ client/utils/index.ts | 6 +- curriculum/build-curriculum.js | 6 +- .../68e6bfa120effa1586e7985a.md | 18 ++++ .../68e00b355f80c6099d47b3a3.md | 18 ++++ .../68e6bf0320effa1586e79858.md | 18 ++++ .../68e6bf3f20effa1586e79859.md | 18 ++++ .../back-end-development-and-apis-v9.yml | 7 ++ .../front-end-development-libraries-v9.yml | 7 ++ .../english/certifications/python-v9.yml | 7 ++ .../relational-databases-v9.yml | 7 ++ ...nd-development-and-apis-certification.json | 14 +++ ...d-development-libraries-certification.json | 14 +++ .../blocks/exam-python-certification.json | 14 +++ ...am-relational-databases-certification.json | 14 +++ curriculum/structure/curriculum.json | 12 ++- .../back-end-development-and-apis-v9.json | 14 +++ .../front-end-development-libraries-v9.json | 14 +++ .../structure/superblocks/python-v9.json | 14 +++ .../superblocks/relational-databases-v9.json | 14 +++ shared/config/certification-settings.ts | 22 ++++- shared/config/curriculum.ts | 76 +++++++++++++--- 30 files changed, 520 insertions(+), 18 deletions(-) create mode 100644 client/src/pages/learn/back-end-development-and-apis-v9/index.md create mode 100644 client/src/pages/learn/front-end-development-libraries-v9/index.md create mode 100644 client/src/pages/learn/python-v9/index.md create mode 100644 client/src/pages/learn/relational-databases-v9/index.md create mode 100644 curriculum/challenges/english/blocks/exam-back-end-development-and-apis-certification/68e6bfa120effa1586e7985a.md create mode 100644 curriculum/challenges/english/blocks/exam-front-end-development-libraries-certification/68e00b355f80c6099d47b3a3.md create mode 100644 curriculum/challenges/english/blocks/exam-python-certification/68e6bf0320effa1586e79858.md create mode 100644 curriculum/challenges/english/blocks/exam-relational-databases-certification/68e6bf3f20effa1586e79859.md create mode 100644 curriculum/challenges/english/certifications/back-end-development-and-apis-v9.yml create mode 100644 curriculum/challenges/english/certifications/front-end-development-libraries-v9.yml create mode 100644 curriculum/challenges/english/certifications/python-v9.yml create mode 100644 curriculum/challenges/english/certifications/relational-databases-v9.yml create mode 100644 curriculum/structure/blocks/exam-back-end-development-and-apis-certification.json create mode 100644 curriculum/structure/blocks/exam-front-end-development-libraries-certification.json create mode 100644 curriculum/structure/blocks/exam-python-certification.json create mode 100644 curriculum/structure/blocks/exam-relational-databases-certification.json create mode 100644 curriculum/structure/superblocks/back-end-development-and-apis-v9.json create mode 100644 curriculum/structure/superblocks/front-end-development-libraries-v9.json create mode 100644 curriculum/structure/superblocks/python-v9.json create mode 100644 curriculum/structure/superblocks/relational-databases-v9.json diff --git a/client/config/cert-and-project-map.ts b/client/config/cert-and-project-map.ts index 18fefc22a0b..8191072a90e 100644 --- a/client/config/cert-and-project-map.ts +++ b/client/config/cert-and-project-map.ts @@ -35,6 +35,10 @@ const foundationalCSharpBase = const fullStackDeveloperBase = '/learn/full-stack-developer'; const respWebV9Base = '/learn/responsive-web-design-v9'; const jsV9Base = '/learn/javascript-v9'; +const frontEndDevLibsV9Base = '/learn/front-end-development-libraries-v9'; +const pythonV9Base = '/learn/python-v9'; +const relationalDbV9Base = '/learn/relational-databases-v9'; +const backEndDevApisV9Base = '/learn/back-end-development-and-apis-v9'; const a2EnglishBase = '/learn/a2-english-for-developers'; const b1EnglishBase = '/learn/b1-english-for-developers'; const a2SpanishBase = '/learn/a2-professional-spanish'; @@ -841,6 +845,58 @@ const allStandardCerts = [ } ] }, + { + id: '68e008aa5f80c6099d47b3a2', + title: 'Front End Development Libraries', + certSlug: Certification.FrontEndDevLibsV9, + projects: [ + { + id: '68e00b355f80c6099d47b3a3', + title: 'Front End Development Libraries Certification Exam', + link: `${frontEndDevLibsV9Base}/exam-front-end-development-libraries-certification/exam-front-end-development-libraries-certification`, + certSlug: Certification.FrontEndDevLibsV9 + } + ] + }, + { + id: '68e6bd5020effa1586e79855', + title: 'Python', + certSlug: Certification.PythonV9, + projects: [ + { + id: '68e6bf0320effa1586e79858', + title: 'Python Certification Exam', + link: `${pythonV9Base}/exam-python-certification/exam-python-certification`, + certSlug: Certification.PythonV9 + } + ] + }, + { + id: '68e6bd5120effa1586e79856', + title: 'Relational Databases', + certSlug: Certification.RelationalDbV9, + projects: [ + { + id: '68e6bf3f20effa1586e79859', + title: 'Relational Databases Certification Exam', + link: `${relationalDbV9Base}/exam-relational-databases-certification/exam-relational-databases-certification`, + certSlug: Certification.RelationalDbV9 + } + ] + }, + { + id: '68e6bd5120effa1586e79857', + title: 'Back End Development and APIs', + certSlug: Certification.BackEndDevApisV9, + projects: [ + { + id: '68e6bfa120effa1586e7985a', + title: 'Back End Development and APIs Certification Exam', + link: `${backEndDevApisV9Base}/exam-back-end-development-and-apis-certification/exam-back-end-development-and-apis-certification`, + certSlug: Certification.BackEndDevApisV9 + } + ] + }, { id: '651dd7e01d697d0aab7833b7', title: 'A2 English for Developers', diff --git a/client/i18n/locales/english/intro.json b/client/i18n/locales/english/intro.json index e7c0f9b74d2..ad888a79c99 100644 --- a/client/i18n/locales/english/intro.json +++ b/client/i18n/locales/english/intro.json @@ -6097,6 +6097,96 @@ } } }, + "front-end-development-libraries-v9": { + "title": "Front End Development Libraries Certification", + "intro": [ + "This course teaches you the libraries that developers use to build webpages: React, TypeScript, and more.", + "To earn your Front End Development Libraries Certification:", + "- Complete the five required projects to qualify for the certification exam.", + "- Pass the Front End Development Libraries Certification exam." + ], + "chapters": { + "front-end-development-libraries": "Front End Development Libraries" + }, + "modules": { + "front-end-development-libraries-certification-exam": "Front End Development Libraries Certification Exam" + }, + "blocks": { + "exam-front-end-development-libraries-certification": { + "title": "Front End Development Libraries Certification Exam", + "intro": [ + "Pass this exam to earn your Front End Development Libraries Certification" + ] + } + } + }, + "python-v9": { + "title": "Python Certification", + "intro": [ + "This course teaches you the fundamentals of Python programming.", + "To earn your Python Certification:", + "- Complete the five required projects to qualify for the certification exam.", + "- Pass the Python Certification exam." + ], + "chapters": { + "python": "Python" + }, + "modules": { + "python-certification-exam": "Python Certification Exam" + }, + "blocks": { + "exam-python-certification": { + "title": "Python Certification Exam", + "intro": ["Pass this exam to earn your Python Certification"] + } + } + }, + "relational-databases-v9": { + "title": "Relational Databases Certification", + "intro": [ + "This course teaches you the fundamentals of relational databases.", + "To earn your Relational Databases Certification:", + "- Complete the five required projects to qualify for the certification exam.", + "- Pass the Relational Databases Certification exam." + ], + "chapters": { + "relational-databases": "Relational Databases" + }, + "modules": { + "relational-databases-certification-exam": "Relational Databases Certification Exam" + }, + "blocks": { + "exam-relational-databases-certification": { + "title": "Relational Databases Certification Exam", + "intro": [ + "Pass this exam to earn your Relational Databases Certification" + ] + } + } + }, + "back-end-development-and-apis-v9": { + "title": "Back End Development and APIs Certification", + "intro": [ + "This course teaches you the fundamentals of back end development and APIs.", + "To earn your Back End Development and APIs Certification:", + "- Complete the five required projects to qualify for the certification exam.", + "- Pass the Back End Development and APIs Certification exam." + ], + "chapters": { + "back-end-development-and-apis": "Back End Development and APIs" + }, + "modules": { + "back-end-development-and-apis-certification-exam": "Back End Development and APIs Certification Exam" + }, + "blocks": { + "exam-back-end-development-and-apis-certification": { + "title": "Back End Development and APIs Certification Exam", + "intro": [ + "Pass this exam to earn your Back End Development and APIs Certification" + ] + } + } + }, "a1-professional-spanish": { "title": "A1 Professional Spanish Certification (Beta)", "note": "This certification is currently in active development. While there isn't a claimable certification available for this section at the moment, one will be available soon. In the meantime, you're welcome to explore the courses we have created below.", diff --git a/client/src/assets/superblock-icon.tsx b/client/src/assets/superblock-icon.tsx index 1d9fab83c04..c1e031f108a 100644 --- a/client/src/assets/superblock-icon.tsx +++ b/client/src/assets/superblock-icon.tsx @@ -54,7 +54,11 @@ const iconMap = { [SuperBlocks.FullStackOpen]: Code, [SuperBlocks.DevPlayground]: Code, [SuperBlocks.RespWebDesignV9]: ResponsiveDesign, - [SuperBlocks.JsV9]: JavaScriptIcon + [SuperBlocks.JsV9]: JavaScriptIcon, + [SuperBlocks.FrontEndDevLibsV9]: ReactIcon, + [SuperBlocks.PythonV9]: PythonIcon, + [SuperBlocks.RelationalDbV9]: DatabaseIcon, + [SuperBlocks.BackEndDevApisV9]: APIIcon }; type SuperBlockIconProps = { diff --git a/client/src/components/settings/certification.tsx b/client/src/components/settings/certification.tsx index dbbec07ce4b..06b8a791dec 100644 --- a/client/src/components/settings/certification.tsx +++ b/client/src/components/settings/certification.tsx @@ -91,6 +91,10 @@ const createCertifiedMap = ({ [Certification.FullStackDeveloper]: false, [Certification.RespWebDesignV9]: false, [Certification.JsV9]: false, + [Certification.FrontEndDevLibsV9]: false, + [Certification.PythonV9]: false, + [Certification.RelationalDbV9]: false, + [Certification.BackEndDevApisV9]: false, [Certification.A2English]: false, [Certification.B1English]: false, [Certification.A2Spanish]: false, diff --git a/client/src/pages/learn/back-end-development-and-apis-v9/index.md b/client/src/pages/learn/back-end-development-and-apis-v9/index.md new file mode 100644 index 00000000000..4a944c6f8c4 --- /dev/null +++ b/client/src/pages/learn/back-end-development-and-apis-v9/index.md @@ -0,0 +1,9 @@ +--- +title: Back End Development and APIs +superBlock: back-end-development-and-apis-v9 +certification: back-end-development-and-apis-v9 +--- + +## Introduction to Back End Development and APIs + +This is a stub introduction for Back End Development and APIs diff --git a/client/src/pages/learn/front-end-development-libraries-v9/index.md b/client/src/pages/learn/front-end-development-libraries-v9/index.md new file mode 100644 index 00000000000..2db8efbfa38 --- /dev/null +++ b/client/src/pages/learn/front-end-development-libraries-v9/index.md @@ -0,0 +1,9 @@ +--- +title: Front End Development Libraries +superBlock: front-end-development-libraries-v9 +certification: front-end-development-libraries-v9 +--- + +## Introduction to Front End Development Libraries + +This is a stub introduction for Front End Development Libraries diff --git a/client/src/pages/learn/python-v9/index.md b/client/src/pages/learn/python-v9/index.md new file mode 100644 index 00000000000..5aa27907370 --- /dev/null +++ b/client/src/pages/learn/python-v9/index.md @@ -0,0 +1,9 @@ +--- +title: Python +superBlock: python-v9 +certification: python-v9 +--- + +## Introduction to Python + +This is a stub introduction for Python diff --git a/client/src/pages/learn/relational-databases-v9/index.md b/client/src/pages/learn/relational-databases-v9/index.md new file mode 100644 index 00000000000..cc4278a8563 --- /dev/null +++ b/client/src/pages/learn/relational-databases-v9/index.md @@ -0,0 +1,9 @@ +--- +title: Relational Database +superBlock: relational-databases-v9 +certification: relational-databases-v9 +--- + +## Introduction to Relational Databases + +This is a stub introduction for Relational Databases diff --git a/client/src/templates/Introduction/components/super-block-accordion.tsx b/client/src/templates/Introduction/components/super-block-accordion.tsx index b20d6b18608..cd56f015572 100644 --- a/client/src/templates/Introduction/components/super-block-accordion.tsx +++ b/client/src/templates/Introduction/components/super-block-accordion.tsx @@ -12,6 +12,10 @@ import fullStackOpen from '../../../../../curriculum/structure/superblocks/full- import a1Spanish from '../../../../../curriculum/structure/superblocks/a1-professional-spanish.json'; import respWebDesignV9 from '../../../../../curriculum/structure/superblocks/responsive-web-design-v9.json'; import javascriptV9 from '../../../../../curriculum/structure/superblocks/javascript-v9.json'; +import frontEndDevLibsV9 from '../../../../../curriculum/structure/superblocks/front-end-development-libraries-v9.json'; +import pythonV9 from '../../../../../curriculum/structure/superblocks/python-v9.json'; +import relationalDbV9 from '../../../../../curriculum/structure/superblocks/relational-databases-v9.json'; +import backEndDevApisV9 from '../../../../../curriculum/structure/superblocks/back-end-development-and-apis-v9.json'; import { ChapterIcon } from '../../../assets/chapter-icon'; import { type Chapter } from '../../../../../shared-dist/config/chapters'; @@ -195,6 +199,14 @@ export const SuperBlockAccordion = ({ return respWebDesignV9; case SuperBlocks.JsV9: return javascriptV9; + case SuperBlocks.FrontEndDevLibsV9: + return frontEndDevLibsV9; + case SuperBlocks.PythonV9: + return pythonV9; + case SuperBlocks.RelationalDbV9: + return relationalDbV9; + case SuperBlocks.BackEndDevApisV9: + return backEndDevApisV9; default: throw new Error("The SuperBlock structure hasn't been imported."); } diff --git a/client/utils/index.ts b/client/utils/index.ts index 7ef603fdf89..8a5870ad4a3 100644 --- a/client/utils/index.ts +++ b/client/utils/index.ts @@ -18,7 +18,11 @@ const idToPath = new Map( '5e46fc95ac417301a38fb934': Certification.DataAnalysisPy, '5e46fc95ac417301a38fb935': Certification.MachineLearningPy, '68db314d3c11a8bff07c7535': Certification.RespWebDesignV9, - '68c4069c1ef859270e17c495': Certification.JsV9 + '68c4069c1ef859270e17c495': Certification.JsV9, + '68e008aa5f80c6099d47b3a2': Certification.FrontEndDevLibsV9, + '68e6bd5020effa1586e79855': Certification.PythonV9, + '68e6bd5120effa1586e79856': Certification.RelationalDbV9, + '68e6bd5120effa1586e79857': Certification.BackEndDevApisV9 }) ); diff --git a/curriculum/build-curriculum.js b/curriculum/build-curriculum.js index eec90220a26..75c68365ff7 100644 --- a/curriculum/build-curriculum.js +++ b/curriculum/build-curriculum.js @@ -193,7 +193,11 @@ const superBlockNames = { 'dev-playground': 'dev-playground', 'full-stack-open': 'full-stack-open', 'responsive-web-design-v9': 'responsive-web-design-v9', - 'javascript-v9': 'javascript-v9' + 'javascript-v9': 'javascript-v9', + 'front-end-development-libraries-v9': 'front-end-development-libraries-v9', + 'python-v9': 'python-v9', + 'relational-databases-v9': 'relational-databases-v9', + 'back-end-development-and-apis-v9': 'back-end-development-and-apis-v9' }; const superBlockToFilename = Object.entries(superBlockNames).reduce( diff --git a/curriculum/challenges/english/blocks/exam-back-end-development-and-apis-certification/68e6bfa120effa1586e7985a.md b/curriculum/challenges/english/blocks/exam-back-end-development-and-apis-certification/68e6bfa120effa1586e7985a.md new file mode 100644 index 00000000000..d78a0bde45b --- /dev/null +++ b/curriculum/challenges/english/blocks/exam-back-end-development-and-apis-certification/68e6bfa120effa1586e7985a.md @@ -0,0 +1,18 @@ +--- +id: 68e6bfa120effa1586e7985a +title: Back End Development and APIs Certification Exam +challengeType: 30 +dashedName: exam-back-end-development-and-apis-certification +--- + +# --description-- + +Start your exam in the exam environment app. + +# --instructions-- + +# --hints-- + +# --seed-- + +# --solutions-- diff --git a/curriculum/challenges/english/blocks/exam-front-end-development-libraries-certification/68e00b355f80c6099d47b3a3.md b/curriculum/challenges/english/blocks/exam-front-end-development-libraries-certification/68e00b355f80c6099d47b3a3.md new file mode 100644 index 00000000000..358e7726c6b --- /dev/null +++ b/curriculum/challenges/english/blocks/exam-front-end-development-libraries-certification/68e00b355f80c6099d47b3a3.md @@ -0,0 +1,18 @@ +--- +id: 68e00b355f80c6099d47b3a3 +title: Front End Development Libraries Certification Exam +challengeType: 30 +dashedName: exam-front-end-development-libraries-certification +--- + +# --description-- + +Start your exam in the exam environment app. + +# --instructions-- + +# --hints-- + +# --seed-- + +# --solutions-- diff --git a/curriculum/challenges/english/blocks/exam-python-certification/68e6bf0320effa1586e79858.md b/curriculum/challenges/english/blocks/exam-python-certification/68e6bf0320effa1586e79858.md new file mode 100644 index 00000000000..52cd62f43a5 --- /dev/null +++ b/curriculum/challenges/english/blocks/exam-python-certification/68e6bf0320effa1586e79858.md @@ -0,0 +1,18 @@ +--- +id: 68e6bf0320effa1586e79858 +title: Python Certification Exam +challengeType: 30 +dashedName: exam-python-certification +--- + +# --description-- + +Start your exam in the exam environment app. + +# --instructions-- + +# --hints-- + +# --seed-- + +# --solutions-- diff --git a/curriculum/challenges/english/blocks/exam-relational-databases-certification/68e6bf3f20effa1586e79859.md b/curriculum/challenges/english/blocks/exam-relational-databases-certification/68e6bf3f20effa1586e79859.md new file mode 100644 index 00000000000..623531fb0ef --- /dev/null +++ b/curriculum/challenges/english/blocks/exam-relational-databases-certification/68e6bf3f20effa1586e79859.md @@ -0,0 +1,18 @@ +--- +id: 68e6bf3f20effa1586e79859 +title: Relational Databases Certification Exam +challengeType: 30 +dashedName: exam-relational-databases-certification +--- + +# --description-- + +Start your exam in the exam environment app. + +# --instructions-- + +# --hints-- + +# --seed-- + +# --solutions-- diff --git a/curriculum/challenges/english/certifications/back-end-development-and-apis-v9.yml b/curriculum/challenges/english/certifications/back-end-development-and-apis-v9.yml new file mode 100644 index 00000000000..e1f6adf0017 --- /dev/null +++ b/curriculum/challenges/english/certifications/back-end-development-and-apis-v9.yml @@ -0,0 +1,7 @@ +id: 68e6bd5120effa1586e79857 +title: Back End Development and APIs Certification +certification: back-end-development-and-apis-v9 +challengeType: 7 +tests: + - id: 68e6bfa120effa1586e7985a + title: Back End Development and APIs Certification Exam diff --git a/curriculum/challenges/english/certifications/front-end-development-libraries-v9.yml b/curriculum/challenges/english/certifications/front-end-development-libraries-v9.yml new file mode 100644 index 00000000000..c1461d56c79 --- /dev/null +++ b/curriculum/challenges/english/certifications/front-end-development-libraries-v9.yml @@ -0,0 +1,7 @@ +id: 68e008aa5f80c6099d47b3a2 +title: Front End Development Libraries Certification +certification: front-end-development-libraries-v9 +challengeType: 7 +tests: + - id: 68e00b355f80c6099d47b3a3 + title: Front End Development Libraries Certification Exam diff --git a/curriculum/challenges/english/certifications/python-v9.yml b/curriculum/challenges/english/certifications/python-v9.yml new file mode 100644 index 00000000000..0da685b0a9b --- /dev/null +++ b/curriculum/challenges/english/certifications/python-v9.yml @@ -0,0 +1,7 @@ +id: 68e6bd5020effa1586e79855 +title: Python Certification +certification: python-v9 +challengeType: 7 +tests: + - id: 68e6bf0320effa1586e79858 + title: Python Certification Exam diff --git a/curriculum/challenges/english/certifications/relational-databases-v9.yml b/curriculum/challenges/english/certifications/relational-databases-v9.yml new file mode 100644 index 00000000000..3247b5beb34 --- /dev/null +++ b/curriculum/challenges/english/certifications/relational-databases-v9.yml @@ -0,0 +1,7 @@ +id: 68e6bd5120effa1586e79856 +title: Relational Databases Certification +certification: relational-databases-v9 +challengeType: 7 +tests: + - id: 68e6bf3f20effa1586e79859 + title: Relational Databases Certification Exam diff --git a/curriculum/structure/blocks/exam-back-end-development-and-apis-certification.json b/curriculum/structure/blocks/exam-back-end-development-and-apis-certification.json new file mode 100644 index 00000000000..d8cffa54804 --- /dev/null +++ b/curriculum/structure/blocks/exam-back-end-development-and-apis-certification.json @@ -0,0 +1,14 @@ +{ + "name": "Back End Development and APIs Certification Exam", + "blockType": "exam", + "blockLayout": "link", + "isUpcomingChange": true, + "dashedName": "exam-back-end-development-and-apis-certification", + "helpCategory": "Backend Development", + "challengeOrder": [ + { + "id": "68e6bfa120effa1586e7985a", + "title": "Back End Development and APIs Certification Exam" + } + ] +} diff --git a/curriculum/structure/blocks/exam-front-end-development-libraries-certification.json b/curriculum/structure/blocks/exam-front-end-development-libraries-certification.json new file mode 100644 index 00000000000..e907e7af02b --- /dev/null +++ b/curriculum/structure/blocks/exam-front-end-development-libraries-certification.json @@ -0,0 +1,14 @@ +{ + "name": "Front End Development Libraries Certification Exam", + "blockType": "exam", + "blockLayout": "link", + "isUpcomingChange": true, + "dashedName": "exam-front-end-development-libraries-certification", + "helpCategory": "JavaScript", + "challengeOrder": [ + { + "id": "68e00b355f80c6099d47b3a3", + "title": "Front End Development Libraries Certification Exam" + } + ] +} diff --git a/curriculum/structure/blocks/exam-python-certification.json b/curriculum/structure/blocks/exam-python-certification.json new file mode 100644 index 00000000000..ae039dd046a --- /dev/null +++ b/curriculum/structure/blocks/exam-python-certification.json @@ -0,0 +1,14 @@ +{ + "name": "Python Certification Exam", + "blockType": "exam", + "blockLayout": "link", + "isUpcomingChange": true, + "dashedName": "exam-python-certification", + "helpCategory": "Python", + "challengeOrder": [ + { + "id": "68e6bf0320effa1586e79858", + "title": "Python Certification Exam" + } + ] +} diff --git a/curriculum/structure/blocks/exam-relational-databases-certification.json b/curriculum/structure/blocks/exam-relational-databases-certification.json new file mode 100644 index 00000000000..67b3b9801f6 --- /dev/null +++ b/curriculum/structure/blocks/exam-relational-databases-certification.json @@ -0,0 +1,14 @@ +{ + "name": "Relational Databases Certification Exam", + "blockType": "exam", + "blockLayout": "link", + "isUpcomingChange": true, + "dashedName": "exam-relational-databases-certification", + "helpCategory": "Backend Development", + "challengeOrder": [ + { + "id": "68e6bf3f20effa1586e79859", + "title": "Relational Databases Certification Exam" + } + ] +} diff --git a/curriculum/structure/curriculum.json b/curriculum/structure/curriculum.json index 55a0cde2a4a..f210a545585 100644 --- a/curriculum/structure/curriculum.json +++ b/curriculum/structure/curriculum.json @@ -32,7 +32,11 @@ "dev-playground", "full-stack-open", "responsive-web-design-v9", - "javascript-v9" + "javascript-v9", + "front-end-development-libraries-v9", + "python-v9", + "relational-databases-v9", + "back-end-development-and-apis-v9" ], "certifications": [ "a2-english-for-developers", @@ -61,6 +65,10 @@ "scientific-computing-with-python", "a1-professional-chinese", "responsive-web-design-v9", - "javascript-v9" + "javascript-v9", + "front-end-development-libraries-v9", + "python-v9", + "relational-databases-v9", + "back-end-development-and-apis-v9" ] } diff --git a/curriculum/structure/superblocks/back-end-development-and-apis-v9.json b/curriculum/structure/superblocks/back-end-development-and-apis-v9.json new file mode 100644 index 00000000000..cc46fc15a02 --- /dev/null +++ b/curriculum/structure/superblocks/back-end-development-and-apis-v9.json @@ -0,0 +1,14 @@ +{ + "chapters": [ + { + "dashedName": "back-end-development-and-apis", + "modules": [ + { + "moduleType": "exam", + "dashedName": "back-end-development-and-apis-certification-exam", + "blocks": ["exam-back-end-development-and-apis-certification"] + } + ] + } + ] +} diff --git a/curriculum/structure/superblocks/front-end-development-libraries-v9.json b/curriculum/structure/superblocks/front-end-development-libraries-v9.json new file mode 100644 index 00000000000..0b40002a78c --- /dev/null +++ b/curriculum/structure/superblocks/front-end-development-libraries-v9.json @@ -0,0 +1,14 @@ +{ + "chapters": [ + { + "dashedName": "front-end-development-libraries", + "modules": [ + { + "moduleType": "exam", + "dashedName": "front-end-development-libraries-certification-exam", + "blocks": ["exam-front-end-development-libraries-certification"] + } + ] + } + ] +} diff --git a/curriculum/structure/superblocks/python-v9.json b/curriculum/structure/superblocks/python-v9.json new file mode 100644 index 00000000000..e6583f1473b --- /dev/null +++ b/curriculum/structure/superblocks/python-v9.json @@ -0,0 +1,14 @@ +{ + "chapters": [ + { + "dashedName": "python", + "modules": [ + { + "moduleType": "exam", + "dashedName": "python-certification-exam", + "blocks": ["exam-python-certification"] + } + ] + } + ] +} diff --git a/curriculum/structure/superblocks/relational-databases-v9.json b/curriculum/structure/superblocks/relational-databases-v9.json new file mode 100644 index 00000000000..398daacde81 --- /dev/null +++ b/curriculum/structure/superblocks/relational-databases-v9.json @@ -0,0 +1,14 @@ +{ + "chapters": [ + { + "dashedName": "relational-databases", + "modules": [ + { + "moduleType": "exam", + "dashedName": "relational-databases-certification-exam", + "blocks": ["exam-relational-databases-certification"] + } + ] + } + ] +} diff --git a/shared/config/certification-settings.ts b/shared/config/certification-settings.ts index a10cd9fa1c2..d941178c426 100644 --- a/shared/config/certification-settings.ts +++ b/shared/config/certification-settings.ts @@ -29,6 +29,10 @@ export enum Certification { FullStackDeveloper = 'full-stack-developer-v9', RespWebDesignV9 = 'responsive-web-design-v9', JsV9 = 'javascript-v9', + FrontEndDevLibsV9 = 'front-end-development-libraries-v9', + PythonV9 = 'python-v9', + RelationalDbV9 = 'relational-databases-v9', + BackEndDevApisV9 = 'back-end-development-and-apis-v9', A2English = 'a2-english-for-developers-v8', B1English = 'b1-english-for-developers-v8', A2Spanish = 'a2-professional-spanish-v8', @@ -83,6 +87,10 @@ export const upcomingCertifications = [ Certification.FullStackDeveloper, Certification.RespWebDesignV9, Certification.JsV9, + Certification.FrontEndDevLibsV9, + Certification.PythonV9, + Certification.RelationalDbV9, + Certification.BackEndDevApisV9, Certification.A2English, Certification.B1English, Certification.A2Spanish, @@ -133,7 +141,11 @@ export const certIds = { foundationalCSharpV8Id: '647f7da207d29547b3bee1ba', jsAlgoDataStructV8Id: '658180220947283cdc0689ce', respWebDesignV9Id: '68db314d3c11a8bff07c7535', - javascriptV9Id: '68c4069c1ef859270e17c495' + javascriptV9Id: '68c4069c1ef859270e17c495', + frontEndLibsV9Id: '68e008aa5f80c6099d47b3a2', + pythonV9Id: '68e6bd5020effa1586e79855', + relationalDbV9Id: '68e6bd5120effa1586e79856', + backEndDevApisV9Id: '68e6bd5120effa1586e79857' }; export const completionHours = { @@ -282,6 +294,10 @@ export const superBlockToCertMap: { [SuperBlocks.FullStackDeveloper]: Certification.FullStackDeveloper, [SuperBlocks.RespWebDesignV9]: Certification.RespWebDesignV9, [SuperBlocks.JsV9]: Certification.JsV9, + [SuperBlocks.FrontEndDevLibsV9]: Certification.FrontEndDevLibsV9, + [SuperBlocks.PythonV9]: Certification.PythonV9, + [SuperBlocks.RelationalDbV9]: Certification.RelationalDbV9, + [SuperBlocks.BackEndDevApisV9]: Certification.BackEndDevApisV9, [SuperBlocks.A2English]: Certification.A2English, [SuperBlocks.B1English]: Certification.B1English, [SuperBlocks.A1Spanish]: null, @@ -323,6 +339,10 @@ export const linkedInCredentialIds = { [Certification.FullStackDeveloper]: 'fsd', [Certification.RespWebDesignV9]: 'rwdv9', [Certification.JsV9]: 'js', + [Certification.FrontEndDevLibsV9]: 'felv9', + [Certification.PythonV9]: 'pyv9', + [Certification.RelationalDbV9]: 'rdv9', + [Certification.BackEndDevApisV9]: 'bedv9', [Certification.JsAlgoDataStructNew]: 'jaads', [Certification.A2English]: 'a2efd', [Certification.B1English]: 'b1efd', diff --git a/shared/config/curriculum.ts b/shared/config/curriculum.ts index e03faf73d8a..702fd6c891f 100644 --- a/shared/config/curriculum.ts +++ b/shared/config/curriculum.ts @@ -36,7 +36,11 @@ export enum SuperBlocks { DevPlayground = 'dev-playground', FullStackOpen = 'full-stack-open', RespWebDesignV9 = 'responsive-web-design-v9', - JsV9 = 'javascript-v9' + JsV9 = 'javascript-v9', + FrontEndDevLibsV9 = 'front-end-development-libraries-v9', + PythonV9 = 'python-v9', + RelationalDbV9 = 'relational-databases-v9', + BackEndDevApisV9 = 'back-end-development-and-apis-v9' } export const languageSuperBlocks = [ @@ -124,6 +128,10 @@ export const superBlockStages: StageMap = { SuperBlocks.FullStackOpen, SuperBlocks.RespWebDesignV9, SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9, SuperBlocks.A1Spanish, SuperBlocks.A2Spanish, SuperBlocks.A2Chinese, @@ -170,7 +178,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.Chinese]: [ SuperBlocks.CodingInterviewPrep, @@ -188,7 +200,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.ChineseTraditional]: [ SuperBlocks.CodingInterviewPrep, @@ -206,7 +222,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.Italian]: [ SuperBlocks.FoundationalCSharp, @@ -224,7 +244,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.Portuguese]: [ SuperBlocks.JsAlgoDataStructNew, @@ -240,7 +264,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.Ukrainian]: [ SuperBlocks.JsAlgoDataStructNew, @@ -255,7 +283,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.Japanese]: [ SuperBlocks.JsAlgoDataStructNew, @@ -271,7 +303,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.German]: [ SuperBlocks.RelationalDb, @@ -296,7 +332,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.Swahili]: [ SuperBlocks.DataVis, @@ -328,7 +368,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ], [Languages.Korean]: [ SuperBlocks.RespWebDesignNew, @@ -361,7 +405,11 @@ export const notAuditedSuperBlocks: NotAuditedSuperBlocks = { SuperBlocks.SemanticHtml, SuperBlocks.DevPlayground, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ] }; @@ -372,7 +420,11 @@ export const chapterBasedSuperBlocks = [ SuperBlocks.FullStackOpen, SuperBlocks.A1Spanish, SuperBlocks.RespWebDesignV9, - SuperBlocks.JsV9 + SuperBlocks.JsV9, + SuperBlocks.FrontEndDevLibsV9, + SuperBlocks.PythonV9, + SuperBlocks.RelationalDbV9, + SuperBlocks.BackEndDevApisV9 ]; Object.freeze(chapterBasedSuperBlocks);