Files
freeCodeCamp/curriculum/structure/superblocks/full-stack-developer.json
2025-09-30 10:41:45 +02:00

931 lines
30 KiB
JSON

{
"chapters": [
{
"dashedName": "html",
"modules": [
{
"dashedName": "basic-html",
"blocks": [
"workshop-curriculum-outline",
"lab-debug-camperbots-profile-page",
"lecture-understanding-html-attributes",
"lab-debug-pet-adoption-page",
"lecture-understanding-the-html-boilerplate",
"workshop-cat-photo-app",
"lab-recipe-page",
"lecture-html-fundamentals",
"lecture-understanding-how-html-affects-seo",
"lab-travel-agency-page",
"lecture-working-with-audio-and-video-elements",
"lecture-working-with-images-and-svgs",
"workshop-build-a-heart-icon",
"lecture-working-with-media",
"workshop-build-a-video-display-using-iframe",
"lab-video-compilation-page",
"lecture-working-with-links",
"review-basic-html",
"quiz-basic-html"
]
},
{
"dashedName": "semantic-html",
"blocks": [
"lecture-importance-of-semantic-html",
"lecture-understanding-nuanced-semantic-elements",
"lecture-working-with-text-and-time-semantic-elements",
"lecture-working-with-specialized-semantic-elements",
"workshop-blog-page",
"lab-event-hub",
"review-semantic-html",
"quiz-semantic-html"
]
},
{
"dashedName": "html-forms-and-tables",
"blocks": [
"lecture-working-with-forms",
"workshop-hotel-feedback-form",
"lab-survey-form",
"lecture-working-with-tables",
"workshop-final-exams-table",
"lab-book-catalog-table",
"lecture-working-with-html-tools",
"review-html-tables-and-forms",
"quiz-html-tables-and-forms"
]
},
{
"dashedName": "html-and-accessibility",
"blocks": [
"lecture-importance-of-accessibility-and-good-html-structure",
"workshop-debug-coding-journey-blog-page",
"lecture-accessible-tables-forms",
"lecture-introduction-to-aria",
"lecture-accessible-media-elements",
"lab-checkout-page",
"lab-movie-review-page",
"lab-multimedia-player",
"review-html-accessibility",
"quiz-html-accessibility"
]
},
{
"moduleType": "review",
"dashedName": "review-html",
"blocks": ["review-html"]
}
]
},
{
"dashedName": "css",
"modules": [
{
"dashedName": "computer-basics",
"blocks": [
"lecture-understanding-computer-internet-and-tooling-basics",
"lecture-working-with-file-systems",
"lecture-browsing-the-web-effectively",
"review-computer-basics",
"quiz-computer-basics"
]
},
{
"dashedName": "basic-css",
"blocks": [
"lecture-what-is-css",
"workshop-cafe-menu",
"lab-business-card",
"lecture-css-specificity-the-cascade-algorithm-and-inheritance",
"review-basic-css",
"quiz-basic-css",
"lecture-styling-lists-and-links",
"lab-stylized-to-do-list",
"lecture-working-with-backgrounds-and-borders",
"lab-blog-post-card",
"review-css-backgrounds-and-borders",
"quiz-css-backgrounds-and-borders"
]
},
{
"dashedName": "design-for-developers",
"blocks": [
"lecture-user-interface-design-fundamentals",
"lecture-user-centered-design",
"lecture-common-design-tools",
"review-design-fundamentals",
"quiz-design-fundamentals"
]
},
{
"dashedName": "absolute-and-relative-units",
"blocks": [
"lecture-working-with-relative-and-absolute-units",
"lab-event-flyer-page",
"review-css-relative-and-absolute-units",
"quiz-css-relative-and-absolute-units"
]
},
{
"dashedName": "pseudo-classes-and-elements",
"blocks": [
"lecture-working-with-pseudo-classes-and-pseudo-elements-in-css",
"workshop-greeting-card",
"lab-job-application-form",
"review-css-pseudo-classes",
"quiz-css-pseudo-classes"
]
},
{
"dashedName": "css-colors",
"blocks": [
"lecture-working-with-colors-in-css",
"workshop-colored-markers",
"lab-colored-boxes",
"review-css-colors",
"quiz-css-colors"
]
},
{
"dashedName": "styling-forms",
"blocks": [
"lecture-best-practices-for-styling-forms",
"workshop-registration-form",
"lab-contact-form",
"review-styling-forms",
"quiz-styling-forms"
]
},
{
"dashedName": "css-box-model",
"blocks": [
"lecture-working-with-css-transforms-overflow-and-filters",
"workshop-rothko-painting",
"lab-confidential-email-page",
"review-css-layout-and-effects",
"quiz-css-layout-and-effects"
]
},
{
"dashedName": "css-flexbox",
"blocks": [
"lecture-working-with-css-flexbox",
"workshop-flexbox-photo-gallery",
"lab-page-of-playing-cards",
"review-css-flexbox",
"quiz-css-flexbox"
]
},
{
"dashedName": "css-typography",
"blocks": [
"lecture-working-with-css-fonts",
"workshop-nutritional-label",
"lab-newspaper-article",
"review-css-typography",
"quiz-css-typography"
]
},
{
"dashedName": "css-and-accessibility",
"blocks": [
"lecture-best-practices-for-accessibility-and-css",
"workshop-accessibility-quiz",
"lab-tribute-page",
"review-css-accessibility",
"quiz-css-accessibility"
]
},
{
"dashedName": "css-positioning",
"blocks": [
"lecture-understanding-how-to-work-with-floats-and-positioning-in-css",
"workshop-cat-painting",
"lab-house-painting",
"review-css-positioning",
"quiz-css-positioning"
]
},
{
"dashedName": "attribute-selectors",
"blocks": [
"lecture-working-with-attribute-selectors",
"workshop-balance-sheet",
"lab-book-inventory-app",
"review-css-attribute-selectors",
"quiz-css-attribute-selectors"
]
},
{
"dashedName": "responsive-design",
"blocks": [
"lecture-best-practices-for-responsive-web-design",
"workshop-piano",
"lab-technical-documentation-page",
"review-responsive-web-design",
"quiz-responsive-web-design"
]
},
{
"dashedName": "css-variables",
"blocks": [
"lecture-working-with-css-variables",
"workshop-city-skyline",
"lab-availability-table",
"review-css-variables",
"quiz-css-variables"
]
},
{
"dashedName": "css-grid",
"blocks": [
"lecture-working-with-css-grid",
"workshop-magazine",
"lab-newspaper-layout",
"lecture-debugging-css",
"lab-product-landing-page",
"review-css-grid",
"quiz-css-grid"
]
},
{
"dashedName": "css-animations",
"blocks": [
"lecture-animations-and-accessibility",
"workshop-ferris-wheel",
"lab-moon-orbit",
"workshop-flappy-penguin",
"lab-personal-portfolio",
"review-css-animations",
"quiz-css-animations"
]
},
{
"moduleType": "review",
"dashedName": "review-css",
"blocks": ["review-css"]
}
]
},
{
"dashedName": "javascript",
"modules": [
{
"dashedName": "code-editors",
"blocks": ["lecture-working-with-code-editors-and-ides"]
},
{
"dashedName": "javascript-variables-and-strings",
"blocks": [
"lecture-introduction-to-javascript",
"lecture-introduction-to-strings",
"lecture-understanding-code-clarity",
"workshop-greeting-bot",
"lab-javascript-trivia-bot",
"lab-sentence-maker",
"lecture-working-with-data-types",
"review-javascript-variables-and-data-types",
"quiz-javascript-variables-and-data-types",
"lecture-working-with-strings-in-javascript",
"workshop-teacher-chatbot",
"lecture-working-with-string-character-methods",
"lecture-working-with-string-search-and-slice-methods",
"lecture-working-with-string-formatting-methods",
"lecture-working-with-string-modification-methods",
"review-javascript-strings",
"quiz-javascript-strings"
]
},
{
"dashedName": "javascript-booleans-and-numbers",
"blocks": [
"lecture-working-with-numbers-and-arithmetic-operators",
"lecture-working-with-operator-behavior",
"lecture-working-with-comparison-and-boolean-operators",
"lecture-working-with-unary-and-bitwise-operators",
"lecture-working-with-conditional-logic-and-math-methods",
"workshop-mathbot",
"lab-fortune-teller",
"lecture-working-with-numbers-and-common-number-methods",
"review-javascript-math",
"quiz-javascript-math",
"lecture-understanding-comparisons-and-conditionals",
"review-javascript-comparisons-and-conditionals",
"quiz-javascript-comparisons-and-conditionals"
]
},
{
"dashedName": "javascript-functions",
"blocks": [
"lecture-working-with-functions",
"workshop-calculator",
"lab-boolean-check",
"lab-email-masker",
"workshop-loan-qualification-checker",
"lab-celsius-to-fahrenheit-converter",
"lab-counting-cards",
"lab-leap-year-calculator",
"lab-truncate-string",
"lab-string-ending-checker",
"review-javascript-functions",
"quiz-javascript-functions"
]
},
{
"dashedName": "javascript-arrays",
"blocks": [
"lecture-working-with-arrays",
"workshop-shopping-list",
"lab-lunch-picker-program",
"lab-golf-score-translator",
"lab-reverse-a-string",
"lecture-working-with-common-array-methods",
"review-javascript-arrays",
"quiz-javascript-arrays"
]
},
{
"dashedName": "javascript-objects",
"blocks": [
"lecture-introduction-to-javascript-objects-and-their-properties",
"lecture-working-with-json",
"lecture-working-with-optional-chaining-and-object-destructuring",
"workshop-recipe-tracker",
"lab-quiz-game",
"lab-record-collection",
"review-javascript-objects",
"quiz-javascript-objects"
]
},
{
"dashedName": "javascript-loops",
"blocks": [
"lecture-working-with-loops",
"workshop-sentence-analyzer",
"lab-longest-word-in-a-string",
"lab-factorial-calculator",
"lab-mutations",
"lab-chunky-monkey",
"lab-profile-lookup",
"lab-repeat-a-string",
"lab-missing-letter-detector",
"review-javascript-loops",
"quiz-javascript-loops"
]
},
{
"dashedName": "review-javascript-fundamentals",
"blocks": [
"lecture-working-with-types-and-objects",
"lecture-working-with-arrays-variables-and-naming-practices",
"lecture-working-with-code-quality-and-execution-concepts",
"lab-largest-number-finder",
"lab-first-element-finder",
"lab-slice-and-splice",
"lab-pyramid-generator",
"lab-gradebook-app",
"lecture-the-var-keyword-and-hoisting",
"lab-title-case-converter",
"lab-falsy-remover",
"lab-inventory-management-program",
"lecture-understanding-modules-imports-and-exports",
"lecture-working-with-the-arguments-object-and-rest-parameters",
"lab-unique-sorted-union",
"lab-password-generator",
"lab-sum-all-numbers-algorithm",
"lab-dna-pair-generator",
"lab-html-entitiy-converter",
"lab-odd-fibonacci-sum-calculator",
"lab-optional-arguments-sum-function",
"review-javascript-fundamentals",
"quiz-javascript-fundamentals"
]
},
{
"dashedName": "higher-order-functions-and-callbacks",
"blocks": [
"lecture-working-with-higher-order-functions-and-callbacks",
"workshop-library-manager",
"lab-book-organizer",
"lab-sorted-index-finder",
"lab-symmetric-difference",
"lab-value-remover-function",
"lab-matching-object-filter",
"lab-sum-all-primes-calculator",
"lab-range-based-lcm-calculator",
"lab-deep-flattening-tool",
"lab-all-true-property-validator",
"review-javascript-higher-order-functions",
"quiz-javascript-higher-order-functions"
]
},
{
"dashedName": "dom-manipulation-and-events",
"blocks": [
"lecture-working-with-the-dom-click-events-and-web-apis",
"workshop-storytelling-app",
"workshop-emoji-reactor",
"lab-favorite-icon-toggler",
"lecture-understanding-the-event-object-and-event-delegation",
"workshop-music-instrument-filter",
"lab-real-time-counter",
"lab-lightbox-viewer",
"workshop-rps-game",
"lab-football-team-cards",
"review-dom-manipulation-and-click-events-with-javascript",
"quiz-dom-manipulation-and-click-event-with-javascript"
]
},
{
"dashedName": "js-a11y",
"blocks": [
"lecture-understanding-aria-expanded-aria-live-and-common-aria-states",
"workshop-planets-tablist",
"workshop-note-taking-app",
"lab-theme-switcher",
"review-js-a11y",
"quiz-js-a11y"
]
},
{
"dashedName": "debugging-javascript",
"blocks": [
"lecture-debugging-techniques",
"lab-random-background-color-changer",
"review-debugging-javascript",
"quiz-debugging-javascript"
]
},
{
"dashedName": "basic-regex",
"blocks": [
"lecture-working-with-regular-expressions",
"workshop-spam-filter",
"lab-palindrome-checker",
"lab-markdown-to-html-converter",
"lab-regex-sandbox",
"lab-spinal-case-converter",
"lab-pig-latin",
"lab-smart-word-replacement",
"review-javascript-regular-expressions",
"quiz-javascript-regular-expressions"
]
},
{
"dashedName": "form-validation",
"blocks": [
"lecture-understanding-form-validation",
"workshop-calorie-counter",
"lab-customer-complaint-form",
"review-form-validation-with-javascript",
"quiz-form-validation-with-javascript"
]
},
{
"dashedName": "javascript-dates",
"blocks": [
"lecture-working-with-dates",
"lab-date-conversion",
"review-javascript-dates",
"quiz-javascript-dates"
]
},
{
"dashedName": "audio-and-video-events",
"blocks": [
"lecture-working-with-audio-and-video",
"workshop-music-player",
"lab-drum-machine",
"review-javascript-audio-and-video",
"quiz-javascript-audio-and-video"
]
},
{
"dashedName": "maps-and-sets",
"blocks": [
"lecture-working-with-maps-and-sets",
"workshop-plant-nursery-catalog",
"lab-voting-system",
"review-javascript-maps-and-sets",
"quiz-javascript-maps-and-sets"
]
},
{
"dashedName": "localstorage-and-crud-operations",
"blocks": [
"lecture-working-with-client-side-storage-and-crud-operations",
"workshop-todo-app",
"lab-bookmark-manager-app",
"review-local-storage-and-crud",
"quiz-local-storage-and-crud"
]
},
{
"dashedName": "classes-and-the-this-keyword",
"blocks": [
"lecture-understanding-how-to-work-with-classes-in-javascript",
"workshop-shopping-cart",
"lab-project-idea-board",
"lab-bank-account-manager",
"review-javascript-classes",
"quiz-javascript-classes"
]
},
{
"dashedName": "recursion",
"blocks": [
"lecture-understanding-recursion-and-the-call-stack",
"workshop-decimal-to-binary-converter",
"lab-permutation-generator",
"review-recursion",
"quiz-recursion"
]
},
{
"dashedName": "functional-programming",
"blocks": [
"lecture-understanding-functional-programming",
"workshop-recipe-ingredient-converter",
"lab-sorting-visualizer",
"review-javascript-functional-programming",
"quiz-javascript-functional-programming"
]
},
{
"dashedName": "asynchronous-javascript",
"blocks": [
"lecture-understanding-asynchronous-programming",
"workshop-fcc-authors-page",
"lab-fcc-forum-leaderboard",
"lab-weather-app",
"review-asynchronous-javascript",
"quiz-asynchronous-javascript"
]
},
{
"moduleType": "review",
"dashedName": "review-javascript",
"blocks": ["review-javascript"]
}
]
},
{
"dashedName": "frontend-libraries",
"modules": [
{
"dashedName": "react-fundamentals",
"blocks": [
"lecture-introduction-to-javascript-libraries-and-frameworks",
"workshop-reusable-mega-navbar",
"lab-reusable-footer",
"lecture-working-with-data-in-react",
"workshop-reusable-profile-card-component",
"lab-mood-board",
"review-react-basics",
"quiz-react-basics"
]
},
{
"dashedName": "react-state-hooks-and-routing",
"blocks": [
"lecture-working-with-state-and-responding-to-events-in-react",
"workshop-toggle-text-app",
"lab-color-picker",
"lecture-understanding-effects-and-referencing-values-in-react",
"workshop-fruit-search-app",
"lab-one-time-password-generator",
"review-react-state-and-hooks",
"quiz-react-state-and-hooks",
"lecture-working-with-forms-in-react",
"workshop-superhero-application-form",
"lab-event-rsvp",
"lecture-working-with-data-fetching-and-memoization-in-react",
"workshop-shopping-list-app",
"lab-currency-converter",
"lecture-routing-react-frameworks-and-dependency-management-tools",
"lab-tic-tac-toe",
"lecture-react-strategies-and-debugging",
"review-react-forms-data-fetching-and-routing",
"quiz-react-forms-data-fetching-and-routing"
]
},
{
"dashedName": "performance",
"blocks": [
"lecture-understanding-performance-in-web-applications",
"review-web-performance",
"quiz-web-performance"
]
},
{
"dashedName": "testing",
"blocks": [
"lecture-understanding-the-different-types-of-testing",
"review-testing",
"quiz-testing"
]
},
{
"dashedName": "css-libraries-and-frameworks",
"blocks": [
"lecture-working-with-css-libraries-and-frameworks",
"workshop-error-message-component",
"workshop-tailwind-cta-component",
"workshop-tailwind-pricing-component",
"lab-music-shopping-cart-page",
"lab-photography-exhibit",
"review-css-libraries-and-frameworks",
"quiz-css-libraries-and-frameworks"
]
},
{
"dashedName": "typescript-fundamentals",
"comingSoon": true,
"blocks": [
"lecture-introduction-to-typescript",
"lecture-working-with-generics-and-type-narrowing",
"lecture-working-with-typescript-configuration-files",
"review-typescript",
"quiz-typescript"
]
},
{
"moduleType": "review",
"comingSoon": true,
"dashedName": "review-front-end-libraries",
"blocks": ["review-front-end-libraries"]
}
]
},
{
"dashedName": "python",
"comingSoon": false,
"modules": [
{
"dashedName": "python-basics",
"comingSoon": false,
"blocks": [
"lecture-introduction-to-python",
"workshop-caesar-cipher",
"lab-rpg-character",
"review-python-basics",
"quiz-python-basics"
]
},
{
"dashedName": "python-loops-and-sequences",
"comingSoon": false,
"blocks": [
"lecture-working-with-loops-and-sequences",
"workshop-pin-extractor",
"lab-number-pattern-generator",
"review-loops-and-sequences",
"quiz-loops-and-sequences"
]
},
{
"dashedName": "python-dictionaries-and-sets",
"comingSoon": false,
"blocks": [
"lecture-working-with-dictionaries-and-sets",
"lecture-working-with-modules",
"workshop-medical-data-validator",
"lab-user-configuration-manager",
"review-dictionaries-and-sets",
"quiz-dictionaries-and-sets"
]
},
{
"dashedName": "python-error-handling",
"comingSoon": false,
"blocks": [
"lecture-understanding-error-handling",
"lab-isbn-validator",
"review-error-handling",
"quiz-error-handling"
]
},
{
"dashedName": "python-classes-and-objects",
"comingSoon": true,
"blocks": [
"lecture-classes-and-objects",
"workshop-musical-instrument-inventory",
"lab-budget-app",
"review-classes-and-objects",
"quiz-classes-and-objects"
]
},
{
"dashedName": "python-object-oriented-programming",
"comingSoon": true,
"blocks": [
"lecture-understanding-object-oriented-programming-and-encapsulation",
"lecture-understanding-inheritance-and-polymorphism",
"workshop-media-catalogue",
"lab-polygon-area-calculator",
"lecture-understanding-abstraction",
"review-object-oriented-programming",
"quiz-object-oriented-programming"
]
},
{
"dashedName": "python-linear-data-structures",
"comingSoon": true,
"blocks": [
"lecture-working-with-common-data-structures",
"lab-hash-table",
"review-data-structures",
"quiz-data-structures"
]
},
{
"dashedName": "python-algorithms",
"comingSoon": true,
"blocks": [
"lecture-searching-and-sorting-algorithms",
"workshop-binary-search",
"lab-bisection-method",
"workshop-merge-sort",
"lab-quicksort",
"lab-selection-sort",
"lab-luhn-algorithm",
"lab-tower-of-hanoi",
"review-searching-and-sorting-algorithms",
"quiz-searching-and-sorting-algorithms"
]
},
{
"dashedName": "python-graphs-and-trees",
"comingSoon": true,
"blocks": [
"lecture-understanding-graphs-and-trees",
"lab-adjacency-list-to-matrix-converter",
"lab-depth-first-search",
"review-graphs-and-trees",
"quiz-graphs-and-trees"
]
},
{
"dashedName": "python-dynamic-programming",
"comingSoon": true,
"blocks": [
"lecture-understanding-dynamic-programming",
"review-dynamic-programming",
"quiz-dynamic-programming"
]
},
{
"comingSoon": true,
"moduleType": "review",
"dashedName": "review-python",
"blocks": ["review-python"]
}
]
},
{
"dashedName": "relational-databases",
"comingSoon": true,
"modules": [
{
"dashedName": "bash-fundamentals",
"comingSoon": true,
"blocks": [
"lecture-understanding-the-command-line-and-working-with-bash",
"workshop-bash-boilerplate",
"review-bash-commands",
"quiz-bash-commands"
]
},
{
"dashedName": "relational-databases",
"comingSoon": true,
"blocks": [
"lecture-working-with-relational-databases",
"workshop-database-of-video-game-characters",
"lab-celestial-bodies-database",
"review-relational-database",
"quiz-relational-database"
]
},
{
"dashedName": "bash-scripting",
"comingSoon": true,
"blocks": [
"lecture-understanding-bash-scripting",
"workshop-bash-five-programs",
"review-bash-scripting",
"quiz-bash-scripting"
]
},
{
"dashedName": "sql-and-bash",
"comingSoon": true,
"blocks": [
"lecture-working-with-sql",
"workshop-sql-student-database-part-1",
"workshop-sql-student-database-part-2",
"lab-world-cup-database",
"workshop-kitty-ipsum-translator",
"workshop-bike-rental-shop",
"lab-salon-appointment-scheduler",
"review-bash-and-sql",
"quiz-bash-and-sql"
]
},
{
"dashedName": "git",
"comingSoon": true,
"blocks": [
"lecture-working-with-nano",
"workshop-castle",
"lecture-introduction-to-git-and-github",
"lecture-working-with-code-reviews-branching-deployment-and-ci-cd",
"workshop-sql-reference-object",
"lab-periodic-table-database",
"lab-number-guessing-game",
"review-git",
"quiz-git"
]
},
{
"moduleType": "review",
"comingSoon": true,
"dashedName": "review-relational-databases",
"blocks": ["review-relational-databases"]
}
]
},
{
"dashedName": "backend-javascript",
"comingSoon": true,
"modules": [
{
"dashedName": "nodejs-core-libraries",
"comingSoon": true,
"blocks": []
},
{
"dashedName": "node-package-manager",
"comingSoon": true,
"blocks": []
},
{
"dashedName": "http-and-the-web-standards-model",
"comingSoon": true,
"blocks": []
},
{
"dashedName": "rest-api-and-web-services",
"comingSoon": true,
"blocks": []
},
{
"dashedName": "introduction-to-express",
"comingSoon": true,
"blocks": []
},
{
"dashedName": "express-middleware",
"comingSoon": true,
"blocks": []
},
{
"dashedName": "error-handling-in-express",
"comingSoon": true,
"blocks": []
},
{ "dashedName": "websockets", "comingSoon": true, "blocks": [] },
{ "dashedName": "node-and-sql", "comingSoon": true, "blocks": [] },
{
"dashedName": "security-and-privacy",
"comingSoon": true,
"blocks": []
},
{ "dashedName": "authentication", "comingSoon": true, "blocks": [] },
{
"dashedName": "tooling-and-deployment",
"comingSoon": true,
"blocks": []
}
]
},
{
"dashedName": "career",
"comingSoon": true,
"modules": [
{
"dashedName": "how-to-get-a-developer-job",
"comingSoon": true,
"blocks": []
},
{ "dashedName": "capstone-project", "comingSoon": true, "blocks": [] },
{
"dashedName": "certified-full-stack-developer-exam",
"comingSoon": true,
"blocks": ["exam-certified-full-stack-developer"]
}
]
}
]
}