# freeCodeCamp | freeCodeCamp.org | Knowledge Base | Instagit

freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

GitHub Stars: 437k

Repository: https://github.com/freeCodeCamp/freeCodeCamp

---

## Articles

### [How freeCodeCamp Structures Its Monorepo with pnpm Workspaces and Turbo](/freeCodeCamp/freeCodeCamp/how-is-the-monorepo-structured-with-pnpm-workspaces-and-turbo)

Discover how freeCodeCamp structures its monorepo using pnpm workspaces and TurboRepo. Learn about managing packages, optimizing builds, and accelerating development pipelines for efficiency.

- Tags: architecture
- Published: 2026-02-23

### [How the CSRF Protection Plugin Works with the freeCodeCamp API](/freeCodeCamp/freeCodeCamp/how-does-the-csrf-protection-plugin-work-with-the-api)

Learn how the freeCodeCamp API uses its CSRF protection plugin to prevent attacks by issuing and validating double-submit cookie tokens for state-changing requests.

- Tags: internals
- Published: 2026-02-23

### [How Exam Attempts Are Tracked and Validated in freeCodeCamp’s Exam Environment](/freeCodeCamp/freeCodeCamp/how-are-exam-attempts-tracked-and-validated-in-the-exam-environment)

Discover how freeCodeCamp's exam environment tracks and validates attempts. Learn about unique instances, submission checks, and moderation for fair scoring.

- Tags: internals
- Published: 2026-02-23

### [How the freeCodeCamp User Reporting System Handles Blocked Users](/freeCodeCamp/freeCodeCamp/how-does-the-user-reporting-system-handle-blocked-users)

Learn how freeCodeCamp's reporting system blocks users, preventing abuse reports with HTTP 400 errors and Auth0 redirects for suspended accounts.

- Tags: internals
- Published: 2026-02-23

### [How the freeCodeCamp Email Subscription and Unsubscribe System Works: A Technical Deep Dive](/freeCodeCamp/freeCodeCamp/how-does-the-email-subscription-and-unsubscribe-system-work)

Explore the freeCodeCamp email subscription system. Learn how stateless token-based architecture and secure endpoints manage user email preferences with a deep technical dive.

- Tags: deep-dive
- Published: 2026-02-23

### [How freeCodeCamp Handles Challenge Submissions with Redux-Saga: A Complete Technical Guide](/freeCodeCamp/freeCodeCamp/how-does-the-client-handle-challenge-submissions-with-redux-sagas)

Learn how freeCodeCamp handles challenge submissions with Redux Saga. Discover the technical workflow for validating payloads, running tests, and managing UI feedback.

- Tags: how-to-guide
- Published: 2026-02-23

### [How the freeCodeCamp Curriculum Package Structures Learning Content: A JSON-Driven Hierarchy](/freeCodeCamp/freeCodeCamp/how-does-the-curriculum-package-structure-learning-content)

Discover how freeCodeCamp uses a four-tier JSON hierarchy certifications superblocks blocks and challenges to structure learning content for programmatic assembly and lazy loading.

- Tags: internals
- Published: 2026-02-23

### [What Environment Variables Are Required to Run the freeCodeCamp API Server?](/freeCodeCamp/freeCodeCamp/what-environment-variables-are-required-to-run-the-api-server)

Discover the twelve required environment variables to run the freeCodeCamp API server. Learn which variables like HOME_LOCATION and JWT_SECRET are essential for startup and production deployments. Get your API running smoothly ...

- Tags: how-to-guide
- Published: 2026-02-23

### [How the GrowthBook Feature Flag System Works with the freeCodeCamp API](/freeCodeCamp/freeCodeCamp/how-does-the-growthbook-feature-flag-system-work-with-the-api)

Explore how the freeCodeCamp API integrates with the GrowthBook feature flag system using a Fastify plugin and shared credentials for efficient remote payload fetching.

- Tags: deep-dive
- Published: 2026-02-23

### [How Prisma Defines the Database Schema for User Progress in freeCodeCamp](/freeCodeCamp/freeCodeCamp/how-does-prisma-define-the-database-schema-for-user-progress)

Learn how freeCodeCamp uses Prisma to define its user progress database schema. Discover dynamic MongoDB schemas for tracking challenges, quizzes, and milestones.

- Tags: internals
- Published: 2026-02-23

### [How the freeCodeCamp Daily Coding Challenge Feature Works: Architecture and Implementation](/freeCodeCamp/freeCodeCamp/how-does-the-daily-coding-challenge-feature-function)

Explore the architecture of freeCodeCamp's daily coding challenge. Learn how its Prisma PostgreSQL database Fastify API and React frontend deliver JavaScript and Python exercises.

- Tags: architecture
- Published: 2026-02-23

### [How the freeCodeCamp i18n System Works Across Frontend and Backend](/freeCodeCamp/freeCodeCamp/how-does-the-i18n-system-work-across-frontend-and-backend)

Discover how freeCodeCamp's i18n system leverages i18next and a filesystem backend to share translations seamlessly between its React frontend and Node.js backend for universal localization.

- Tags: internals
- Published: 2026-02-23

### [How the freeCodeCamp Challenge-Linter Validates Curriculum Markdown Files](/freeCodeCamp/freeCodeCamp/how-does-the-challenge-linter-validate-curriculum-markdown-files)

Discover how the freeCodeCamp challenge-linter validates curriculum markdown files using markdownlint and custom rules for PrismJS, YAML, and code blocks. Learn more!

- Tags: internals
- Published: 2026-02-23

### [How the challenge-builder Package Transforms and Builds FreeCodeCamp Challenges](/freeCodeCamp/freeCodeCamp/how-does-the-challenge-builder-package-transform-and-build-challenges)

Learn how challenge-builder transforms freeCodeCamp curriculum files into runnable code. Discover its three-phase pipeline for building challenges efficiently.

- Tags: internals
- Published: 2026-02-23

### [Architecture of the freeCodeCamp Gatsby Client Application and Its Plugins](/freeCodeCamp/freeCodeCamp/what-s-the-architecture-of-the-gatsby-client-application-and-its-plugins)

Explore the Gatsby client application architecture at freeCodeCamp. Learn how it combines static-site generation, custom data sources, and utility plugins for Webpack, Babel, and metadata.

- Tags: architecture
- Published: 2026-02-23

### [How the freeCodeCamp Certificate Verification System Works: Server-Side Validation Explained](/freeCodeCamp/freeCodeCamp/how-does-the-certificate-verification-system-work)

Discover how freeCodeCamp's certificate verification system works. Learn about secure server-side validation, preventing duplicates, and atomic record updates.

- Tags: internals
- Published: 2026-02-23

### [How FreeCodeCamp Validates and Completes Coding Challenges via API Schemas](/freeCodeCamp/freeCodeCamp/how-are-coding-challenges-validated-and-completed-via-the-api-schemas)

Discover how freeCodeCamp validates coding challenge submissions server-side using Fastify and Typebox JSON Schema validation. Ensure strict request body schemas before completion logic runs.

- Tags: internals
- Published: 2026-02-23

### [How the Fastify API Handles Authentication and Authorization with the Auth Plugin](/freeCodeCamp/freeCodeCamp/how-does-the-fastify-api-handle-authentication-and-authorization-with-the-auth-plugin)

Learn how the Fastify API handles authentication and authorization using the auth plugin. Discover JWT cookie validation, user lookup, and route protection for secure APIs.

- Tags: deep-dive
- Published: 2026-02-23

