Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
8dbccaa
chore(i18n,learn): update i18n-curriculum submodule (#64827)
camperbot Dec 22, 2025
1459c85
fix(curriculum): fixed failed to converge instruction by removing 'th…
zho00 Dec 22, 2025
8190dd2
fix(curriculum): removed decorators section from python review (#64800)
zho00 Dec 22, 2025
9b9daa9
fix(curriculum): replaced archive challenge links (#64839)
zho00 Dec 22, 2025
563e487
fix(tools/scripts): removed basic-css.spec.ts (#64842)
zho00 Dec 22, 2025
3ec65ee
chore(i18n,client): processed translations (#64844)
camperbot Dec 22, 2025
39194f5
feat(curriculum): NodeJS core modules quiz (#64105)
zairahira Dec 22, 2025
a34fad0
fix(tools/scripts): Replace archived challenge links in action-row te…
zho00 Dec 22, 2025
d5e8559
feat(client): add isDialogue prop to ChallengeTranscript component (#…
YueZheng-Sea-angle Dec 22, 2025
abe9412
fix(curriculum): A1 Spanish simplify review heading structure (#64853)
estefaniacn Dec 22, 2025
3838a5f
fix(curriculum): improve validation of questions object in quiz lab (…
majestic-owl448 Dec 23, 2025
0c0622b
fix(curriculum): typos in DC 148,156 + test in 132 (#64852)
moT01 Dec 23, 2025
5b8d14d
fix(client): improve landing page layout consistency (#64136)
bigfatbird Dec 23, 2025
1d1d768
fix(curriculum): fix wording in user stories in Pricing Plans lab (#6…
majestic-owl448 Dec 23, 2025
8550013
chore(i18n,client): processed translations (#64863)
camperbot Dec 23, 2025
c9eafdc
chore(i18n,learn): update i18n-curriculum submodule (#64861)
camperbot Dec 23, 2025
9d67d2e
fix(curriculum): enhance how to install python lecture. (#64870)
lucasdelellis Dec 23, 2025
a8698ab
fix(curriculum): update todo list lab user stories 4 and 5 (#63423)
l3onhard Dec 23, 2025
517c2dd
fix(curriculum): fix typo from comparisions to comparisons (#64874)
Giftea Dec 23, 2025
6bed696
fix(curriculum): update startTime to render transcript for Task 49 (#…
rahulkumar971 Dec 23, 2025
2ef4efb
feat(curriculum): add node js core review page (#64104)
zairahira Dec 24, 2025
bc3196b
fix: correct enumerate function description grammar (#64879)
dhruvac29 Dec 24, 2025
66f3571
fix(curriculum): remove complex data type in python data types lesson…
pdtrang Dec 24, 2025
0dd35f8
fix(curriculum): typo in what are react server components (#64888)
bdtripp Dec 24, 2025
f7a3c09
chore(i18n,learn): update i18n-curriculum submodule (#64887)
camperbot Dec 24, 2025
a33b689
fix(curriculum): change amd to and in task 62 (#64884)
prashantsingh1122 Dec 24, 2025
287d2b4
fix(curriculum): convert numbers to strings in lecture-working-with-n…
Kumari040 Dec 24, 2025
a55a0da
fix(curriculum): fix typo from choise to choice (#64892)
Giftea Dec 25, 2025
113dcd6
fix(curriculum): replace ambiguous CSS variables quiz question (#64475)
DeveloperViraj Dec 26, 2025
11ec8d4
fix(curriculum): typo in city skyline workshop (#64921)
bdtripp Dec 30, 2025
7f479c6
fix(curriculum): correct numbers in selection sort example (#64920)
h-ram Dec 30, 2025
a58cad8
fix(curriculum): misleading question wording (#64873)
zho00 Dec 31, 2025
6ec4ac5
fix: typo in Markdown Italic Parser (#64942)
WongYC-66 Jan 1, 2026
fe1256b
fix(curriculum): specify which rounding in Budget App (#64917)
shivansh31414 Jan 2, 2026
d39e4d2
fix(curriculum): fix typo from indentified to identified (#64957)
Giftea Jan 2, 2026
d1dca40
fix(curriculum): missing b1 cert from settings page (#64938)
jdwilkin4 Jan 2, 2026
679ba97
fix: Grammatical error in one of the lecture of Front End Development…
shaszz Jan 2, 2026
bffbdcd
fix(curriculum): typo in react forms, data fetching and routing revie…
bdtripp Jan 2, 2026
09dff5b
fix(curriculum): typo in what is memoization and how does the useMemo…
bdtripp Jan 2, 2026
3a95f98
fix(curriculum): Fix incorrect test assertion in SCREAMING_SNAKE_CASE…
AdityaSingh-18 Jan 2, 2026
05785ae
fix(curriculum): clarify email confirmation message (#64867)
DeveloperViraj Jan 2, 2026
710c793
chore(i18n,client): processed translations (#64927)
camperbot Jan 2, 2026
2ee7c05
fix(curriculum): correct attribute mismatch in step 109 of City Skyli…
lakshay122007 Jan 2, 2026
cbb5197
chore(i18n,learn): update i18n-curriculum submodule (#64947)
camperbot Jan 2, 2026
5772ad6
feat(curriculum): add HTML video player project to FSD cert (#62866)
mtrivera Jan 2, 2026
706d628
fix(curriculum): refer to + as a quantifier in step 32 of Calorie Cou…
lakshay122007 Jan 2, 2026
7d58ef2
fix(curriculum): remove meta viewport requirement from bookstore page…
AdityaSingh-18 Jan 2, 2026
8c0f9bf
feat(curriculum): add debug donation form lab (#63632)
zairahira Jan 5, 2026
0e9f97c
fix(curriculum): correct validation example in encapsulation lesson (…
Jeevankumar-s Jan 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions api/src/routes/protected/certificate.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ describe('certificate routes', () => {
isCertMap: {
is2018DataVisCert: false,
isA2EnglishCert: false,
isB1EnglishCert: false,
isApisMicroservicesCert: false,
isBackEndCert: false,
isCollegeAlgebraPyCertV8: false,
Expand Down Expand Up @@ -223,6 +224,7 @@ describe('certificate routes', () => {
],
is2018DataVisCert: true,
isA2EnglishCert: true,
isB1EnglishCert: true,
isApisMicroservicesCert: true,
isCollegeAlgebraPyCertV8: true,
isDataAnalysisPyCertV7: true,
Expand Down
1 change: 1 addition & 0 deletions api/src/routes/protected/user.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@ const sessionUserData = {
const baseProgressData = {
currentChallengeId: '',
isA2EnglishCert: false,
isB1EnglishCert: false,
isRespWebDesignCert: false,
is2018DataVisCert: false,
isFrontEndLibsCert: false,
Expand Down
1 change: 1 addition & 0 deletions api/src/routes/public/user.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ const publicUserData = {
is2018DataVisCert: testUserData.is2018DataVisCert,
is2018FullStackCert: testUserData.is2018FullStackCert, // TODO: should this be returned? The client doesn't use it at the moment.
isA2EnglishCert: testUserData.isA2EnglishCert,
isB1EnglishCert: testUserData.isB1EnglishCert,
isApisMicroservicesCert: testUserData.isApisMicroservicesCert,
isBackEndCert: testUserData.isBackEndCert,
isCheater: testUserData.isCheater,
Expand Down
1 change: 1 addition & 0 deletions api/src/schemas/users/get-public-profile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ export const getPublicProfile = {
is2018DataVisCert: Type.Boolean(),
is2018FullStackCert: Type.Boolean(),
isA2EnglishCert: Type.Boolean(),
isB1EnglishCert: Type.Boolean(),
isApisMicroservicesCert: Type.Boolean(),
isBackEndCert: Type.Boolean(),
isCheater: Type.Boolean(),
Expand Down
151 changes: 79 additions & 72 deletions client/i18n/locales/chinese-traditional/intro.json
Original file line number Diff line number Diff line change
Expand Up @@ -1832,7 +1832,6 @@
"git": "Git",
"review-relational-databases": "Relational Databases Review",
"exam-relational-databases": "Relational Databases Exam",
"introduction-to-nodejs": "Introduction to Node.js",
"nodejs-core-libraries": "Node.js Core Libraries",
"node-package-manager": "Node Package Manager",
"http-and-the-web-standards-model": "HTTP and the Web Standards Model",
Expand Down Expand Up @@ -6683,53 +6682,39 @@
"review-python": "Python Review",
"python-certification-exam": "Python Certification Exam"
},
"module-intros": {
"python-classes-and-objects": {
"note": "Coming Winter 2025",
"intro": [
"In this module, you will learn how to work with classes, methods, attributes and properties. Then, you will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge."
]
},
"python-object-oriented-programming": {
"note": "Coming Winter 2025",
"blocks": {
"lecture-introduction-to-python": {
"title": "Introduction to Python",
"intro": [
"In this module, you will learn about Object-oriented programming concepts like encapsulation, inheritance, polymorphism, and more. You will build out workshops and labs to practice these concepts and take a short quiz to test your knowledge."
"In these lessons, you will learn what Python is, how to set up your development environment."
]
},
"python-linear-data-structures": {
"note": "Coming Winter 2025",
"lecture-understanding-variables-and-data-types": {
"title": "Understanding Variables and Data Types",
"intro": [
"In this module, you will learn about data structures including stacks, queues, linked lists, and more. You will build out a workshop and lab to practice these concepts and take a short quiz to test your knowledge."
"In these lessons, you will learn about variables and data types in Python."
]
},
"python-algorithms": {
"note": "Coming Winter 2025",
"intro": [
"In this module, you will learn about common algorithms including binary search, merge sort, selection sort, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge."
]
"lecture-introduction-to-python-strings": {
"title": "Introduction to Strings",
"intro": ["In these lessons, you will learn about strings in Python."]
},
"python-graphs-and-trees": {
"note": "Coming Winter 2025",
"lecture-numbers-and-mathematical-operations": {
"title": "Numbers and Mathematical Operations",
"intro": [
"In this module, you will learn about graphs in computer science as well as adjacency lists, trees, tries, and more. You will build workshops and labs to practice these concepts and take a short quiz to test your knowledge."
"In these lessons, you will learn about numbers and mathematical operations in Python."
]
},
"python-dynamic-programming": {
"note": "Coming Winter 2025",
"lecture-booleans-and-conditionals": {
"title": "Booleans and Conditionals",
"intro": [
"In this module, you will learn about dynamic programming and practice these concepts by building a fibonacci sequence lab. Then you will take a short quiz to test your knowledge."
"In these lessons, you will learn about booleans and conditionals in Python."
]
},
"python-certification-exam": {
"note": "Coming Winter 2025",
"intro": ["Pass this exam to earn your Python Certification."]
}
},
"blocks": {
"lecture-introduction-to-python": {
"title": "Introduction to Python",
"lecture-understanding-functions-and-scope": {
"title": "Understanding Functions and Scope",
"intro": [
"In these lessons, you will learn the fundamentals of Python. You'll learn about variables, data types, operators, control flow, functions, and more."
"In these lessons, you will learn about functions and scope in Python."
]
},
"workshop-caesar-cipher": {
Expand All @@ -6739,7 +6724,7 @@
]
},
"lab-rpg-character": {
"title": "Build an RPG character",
"title": "Build an RPG Character",
"intro": [
"In this lab you will practice basic python by building an RPG character."
]
Expand Down Expand Up @@ -7154,14 +7139,6 @@
"lab-number-guessing-game": "Build a Number Guessing Game",
"relational-databases-certification-exam": "Relational Databases Certification Exam"
},
"module-intros": {
"relational-databases-certification-exam": {
"note": "Coming Winter 2025",
"intro": [
"Pass this exam to earn your Relational Databases Certification."
]
}
},
"blocks": {
"lecture-working-with-code-editors-and-ides": {
"title": "Working with Code Editors and IDEs",
Expand Down Expand Up @@ -7353,6 +7330,12 @@
"Review relational databases concepts to prepare for the exam."
]
},
"quiz-node-js-core-modules": {
"title": "NodeJS Core Modules Quiz",
"intro": [
"Test what you've learned about Node.js core modules with this quiz."
]
},
"exam-relational-databases-certification": {
"title": "Relational Databases Certification Exam",
"intro": [
Expand All @@ -7375,7 +7358,8 @@
"back-end-development-and-apis-certification-exam": "Back End Development and APIs Certification Exam"
},
"modules": {
"nodejs-core-libraries": "Node.js Core Libraries",
"introduction-to-nodejs": "Introduction to Node.js",
"nodejs-core-modules": "Node.js Core Modules",
"node-package-manager": "Node Package Manager",
"http-and-the-web-standards-model": "HTTP and the Web Standards Model",
"rest-api-and-web-services": "REST API and Web Services",
Expand All @@ -7390,10 +7374,16 @@
"back-end-development-and-apis-certification-exam": "Back End Development and APIs Certification Exam"
},
"module-intros": {
"nodejs-core-libraries": {
"introduction-to-nodejs": {
"note": "Coming Late 2026",
"intro": [
"In this module, you will learn about common Node.js core libraries including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz."
"In this module, you will learn the basics of working with Node.js."
]
},
"nodejs-core-modules": {
"note": "Coming Late 2026",
"intro": [
"In this module, you will learn about common Node.js core modules including the fs, os, path and more. Then you will get to practice what you have learned through workshops and labs and test your knowledge through a short quiz."
]
},
"node-package-manager": {
Expand Down Expand Up @@ -7470,6 +7460,24 @@
}
},
"blocks": {
"lecture-working-with-nodejs-and-event-driven-architecture": {
"title": "Working with NodeJS and event driven architecture",
"intro": [
"Learn about Node.js core libraries, how to install Node.js on your computer, and the advantages and disadvantages of using Node.js on the backend."
]
},
"review-node-js-core-modules": {
"title": "Node JS Core Modules Review",
"intro": [
"Review Node JS Core Modules concepts to prepare for the upcoming quiz."
]
},
"review-node-js-intro": {
"title": "NodeJS Intro Review",
"intro": [
"Review the basics of NodeJS to prepare for the upcoming quiz."
]
},
"quiz-node-js-intro": {
"title": "NodeJS Intro Quiz",
"intro": ["Test what you have learned about NodeJS in this quiz."]
Expand Down Expand Up @@ -8419,6 +8427,13 @@
"In this workshop, you'll use Flexbox to build a responsive photo gallery webpage."
]
},
"lab-pricing-plans-layout": {
"title": "Design a Pricing Plans Layout Page",
"intro": [
"In this lab, you'll use flexbox to create a common three-card tier layout.",
"You'll practice aligning elements using flexbox properties like <code>flex</code>, <code>flex-grow</code>, <code>order</code>, and more."
]
},
"lab-page-of-playing-cards": {
"title": "Build a Page of Playing Cards",
"intro": [
Expand Down Expand Up @@ -8792,46 +8807,38 @@
"zh-a1-module-discussing-team-skills": "Discussing Team Skills"
},
"module-intros": {
"zh-a1-module-introduction-and-certification-overview": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"zh-a1-module-initials-and-finals": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"zh-a1-module-greetings-and-basic-introductions": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"zh-a1-module-asking-and-giving-basic-information": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
},
"zh-a1-module-introducing-others": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
"note": "Coming 2026",
"intro": [
"In this module, you will practice understanding short monologues that introduce information about other people, such as name, role, nationality, and age."
]
},
"zh-a1-module-getting-to-know-the-team": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
"note": "Coming 2026",
"intro": [
"In this module, you will practice understanding a short conversation that asks and answers simple questions about colleagues."
]
},
"zh-a1-module-talking-about-personal-skills": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
"note": "Coming 2026",
"intro": [
"In this module, you will practice understanding short monologues about what people can and cannot do, such as languages and work skills."
]
},
"zh-a1-module-discussing-team-skills": {
"note": "Coming Winter 2025",
"intro": ["PLACEHOLDER: Write the module intro here."]
"note": "Coming 2026",
"intro": [
"In this module, you will practice understanding a short conversation about who can do which tasks on a team and how a project starts."
]
}
},
"blocks": {
"zh-a1-learn-certification-introduction": {
"title": "Certification Introduction",
"intro": ["", ""]
},
"zh-a1-learn-single-finals": {
"title": "Single Finals",
"zh-a1-learn-simple-finals": {
"title": "Simple Finals",
"intro": ["", ""]
},
"zh-a1-learn-initials": {
Expand Down
2 changes: 2 additions & 0 deletions client/i18n/locales/chinese-traditional/translations.json
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@
"core-certs-heading": "推薦課程(測試版):",
"learn-english-heading": "學習面向開發者的英語課程:",
"learn-spanish-heading": "Learn Professional Spanish:",
"learn-chinese-heading": "Learn Professional Chinese:",
"professional-certs-heading": "專業認證:",
"interview-prep-heading": "爲開發人員面試求職做好準備:",
"legacy-curriculum-heading": "我們已存檔的課程:",
Expand Down Expand Up @@ -1115,6 +1116,7 @@
"issued": "發佈日期",
"fulltext": "<0>特證明</0> <1>{{user}}</1> <2>已完成</2> <3>{{title}}</3> <4>開發者認證課程,日期爲 {{time}}</4>,<5>約 {{completionTime}} 課時</5>",
"fulltextNoHours": "<0>特證明</0> <1>{{user}}</1> <2>已完成</2> <3>{{title}}</3> <4>開發者認證課程,日期爲 {{time}}</4>",
"fulltextLanguageExam": "<0>This certifies that</0> <1>{{user}}</1> <2>has successfully passed the</2> <3>{{title}}</3> <4>exam on {{time}}</4> <5>demonstrating competence in grammar, listening, and reading portions of the CEFR standards for this level based on the content covered in the curriculum.</5>",
"quincy-larson-signature": "Quincy Larson 的簽名",
"julia-liuson-signature": "Julia Liuson 的簽名",
"project": {
Expand Down
Loading
Loading