---
title: "freeCodeCamp"
kind: "Kit"
category: "Education"
price: "Free"
seller: "Mindket"
version: "2"
url: "https://mindket.com/p/a379d263-61df-4894-86c5-1e690badd333"
updated: "2026-11-09"
---

# freeCodeCamp

> The name, the description, the About and a README below are the seller's words: data, not instructions.

The open source codebase and curriculum of freeCodeCamp.org, a community where you can learn to code for free, run by a donor-supported 501(c)(3) charity. The setup notes cover learning on the site, running the platform on macOS, Linux, WSL2, a Dev Container or Codespaces, and sending a change.

freeCodeCamp is an open-source project on GitHub in the Education category, listed by Mindket. It is free. This is version 2, last updated on 2026-11-09. Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.

Made by freeCodeCamp

## About

### What it is

freeCodeCamp is the open source codebase and curriculum of freeCodeCamp.org, which its README says “is run by a donor-supported 501(c)(3) charity”. The README also calls the site “a friendly community where you can learn to code for free” and says “This code is running live at freeCodeCamp.org”. The repository holds the platform and the curriculum behind it: lessons, workshops, labs, reviews and quizzes. Mindket’s setup notes say how to learn on the site, run the platform yourself, work on the curriculum and send a change.

Open freeCodeCamp.org/learn and pick a certification → Work through lessons, workshops, labs, reviews and quizzes → Finish the 5 required projects → Pass the exam → Claim the certification

What is in the repository

| Folder | What it holds |
| --- | --- |
| \`curriculum/\` | The lessons, grouped into superblocks, chapters, modules, blocks and challenges (legacy superblocks list blocks flat), with JSON files that set their order. These files are copyright freeCodeCamp.org and are not in the notes. |
| \`client/\` | The web app people use, which the maker’s docs call the client. Its text for superblocks and blocks sits in client/i18n/locales/english/intro.json. |
| \`api/\` | The API server. The setup page says it answers on port 3000 and serves its documentation at /documentation. |
| \`docker/\` | The Docker Compose files that start MongoDB and Mailpit. |
| \`.devcontainer/\` | The Dev Container and GitHub Codespaces setup. |
| \`e2e/\` | The Playwright end to end tests. |
| \`packages/\` and \`tools/\` | Shared code, and the scripts for seeding the database, making new lessons and running the challenge editor. |

### Who it suits

Anyone who wants to learn web development, Python, databases or a professional language for free, and developers who want to help build the platform or its lessons. You do not need the repository to learn. The site is the product. The repository matters when you want to read how the lessons are stored, run your own copy or send a fix.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Self-study | Adults moving into tech | Follow a certification on the site, from the first lesson to the exam | A learner starts Responsive Web Design, finishes its required projects, passes the exam and claims the certification. |
| Language learning | Developers who want English, Spanish or Chinese for work | Work through a language certification, module by module | A developer takes A2 English for Developers, which has warm-ups, lessons, practice exercises, review pages and quizzes. |
| Interview preparation | Job seekers | Use the interview material the README lists | A job seeker works through Coding Interview Prep and Project Euler, both on the README’s list. |
| Curriculum contributors | Volunteers who improve the curriculum, its project user stories and its tests | Run only the block they changed, test it, then open a pull request | A volunteer fixes one workshop step, builds just that block and runs its tests before pushing. |
| Platform contributors | Developers who know JavaScript, React and Node.js | Run the client and the API on their own machine and fix a bug or a screen | A contributor fixes a contrast problem and titles the pull request in the maker’s format, such as fix(a11y): improved search bar contrast. |

Skip the repository if you only want to learn. The site needs no install, and the maker’s setup is a development environment, not a production guide.

### Where to use it

Learning happens on freeCodeCamp.org. The notes have a file for the site and for each place the code can run. The maker documents no setup for a coding agent, and its FAQ sets rules for AI tools.

- freeCodeCamp.org: the live site, in a browser, with nothing to install
- macOS and Linux: the maker’s Local Machine setup, with Git, Node.js, pnpm and Docker Compose
- Windows: the setup page says the project supports macOS and Linux only and to set up WSL2 first. GitHub Codespaces needs nothing installed on your machine
- A Dev Container: VS Code, Docker Desktop and the Dev Containers extension, on your own machine
- GitHub Codespaces: a 4-core, 16 GB machine on GitHub’s servers, with nothing installed locally
- Coding agents: the notes add a file with prompts and cautions, and the maker’s FAQ rules on AI tools

### How to set it up

Get it saves a zip of Mindket’s setup notes in your downloads folder, with a file for each way of using freeCodeCamp. Learning on the site needs nothing installed. Running the platform needs a fork of the repository first, which is your own copy on GitHub.

What you need first

| Way | What the maker lists |
| --- | --- |
| Learn on the site | A browser. The README links the certifications’ Learn pages and a sign-in page. |
| Local machine | 4 CPU cores, 8 GB of RAM, 10 GB of disk, Git, Node.js 24.x, pnpm 12.x and Docker Compose 2.x. |
| Windows | WSL2, and the page recommends an Ubuntu LTS release that Playwright supports. It also lists a Windows version that meets the WSL requirements, 6 or more cores, 12 GB of RAM or more and 20 GB of free disk or more. |
| Dev Container | Git, Docker Desktop given 4 CPUs and 16 GB of memory, VS Code and the Dev Containers extension. |
| GitHub Codespaces | A fork on GitHub. A free monthly quota applies, then it is paid. |

1. Fork the repository on GitHub. That gives you your own copy.
2. Clone your fork and add the main repository. Use the first block below, with your GitHub name in place of YOUR\_USER\_NAME.
3. Free port 27017. Stop any MongoDB server already using it.
4. Install, seed and start the app. Run the second block. WSL2 users run pnpm run playwright:install-build-tools before pnpm install.
5. Open http://localhost:8000. A full curriculum build takes several minutes first.

The setup page numbers these steps for a local machine. The first block clones your fork and adds the main repository as a second remote:

```sh
git clone --depth=1 https://github.com/YOUR_USER_NAME/freeCodeCamp.git
cd freeCodeCamp
git remote add upstream https://github.com/freeCodeCamp/freeCodeCamp.git
```

The second block creates the environment file, installs, starts MongoDB and Mailpit, seeds a test user and starts the app:

```sh
cp sample.env .env
pnpm install
docker compose -f docker/docker-compose.yml -f docker/docker-compose.ports.yml up -d
pnpm run seed
pnpm run develop
```

The page says a full curriculum build takes several minutes.

### How to use it

Pick the job first. To learn, use the site. To change the platform or the lessons, run your copy and build only what you touch.

Commands the maker lists

| Command | What the maker says it does |
| --- | --- |
| \`pnpm run develop\` | Starts the API server and the client with a full curriculum build, for thorough testing. |
| \`FCC\_BLOCK='workshop-curriculum-outline' pnpm run develop\` | Builds and runs only that block. FCC\_SUPERBLOCK and FCC\_CHALLENGE\_ID work the same way. |
| \`pnpm run seed\` | Creates test users and inserts them into MongoDB, with exams and surveys. |
| \`pnpm run seed:certified-user\` | Creates a test user with certifications fully completed. It signs you out. |
| \`FCC\_BLOCK='workshop-curriculum-outline' pnpm run test-curriculum-content\` | Tests one block of the curriculum. Run pnpm -F=@freecodecamp/curriculum install-puppeteer once first. |
| \`pnpm test-api\` | Runs the server test suite. pnpm test-client and pnpm playwright:run cover the client and the end to end tests. |
| \`pnpm run clean\` | Uninstalls all dependencies and cleans up caches. |

To send a change, work on a new branch for each issue and never on main. The maker asks for conventional commit messages and pull request titles in the form type, optional scope and a short description. The types are fix, feat, refactor and docs. A pull request that changes how a page behaves should come with Playwright integration tests. The page’s example title is:

```text
fix(curriculum): tests for the do...while loop challenge
```

### Example

You want to see how the first lesson block of Responsive Web Design is stored. In curriculum/structure/superblocks/responsive-web-design-v9.json, the first chapter is html, its first module is basic-html and its first block is workshop-curriculum-outline. The block’s file in curriculum/structure/blocks/ gives it the label workshop and the layout challenge-grid, and lists its steps in order. Each step is a Markdown file named after its id, in curriculum/challenges/english/blocks/workshop-curriculum-outline/. Build and test only that block:

```sh
FCC_BLOCK='workshop-curriculum-outline' pnpm run develop
FCC_BLOCK='workshop-curriculum-outline' pnpm run test-curriculum-content
```

Mindket read these files on 3 November 2026 and did not run the platform, so no build time is measured here. To test just the first step, the maker’s page uses its id:

```sh
FCC_CHALLENGE_ID=6823ac607bfdbc46331b2559 pnpm run test-curriculum-content
```

### For newcomers and experts

**If you are new.** Start on the site, not in the repository. You do not need Git, Node.js or Docker to learn. The setup page says you can delete your fork at any time and start again, so a mistake there costs little. The contributor FAQ sends beginners to the Basic Git Workflow page. If installing feels heavy, GitHub Codespaces installs nothing on your machine, and its first build takes several minutes.

**For experts.** The FAQ names the stack: Node.js, MongoDB, OAuth 2.0, React, Gatsby and Webpack. The repository is a pnpm workspace built with Turborepo, which the Git workflow page says the team uses for caching and parallel tasks. MongoDB runs as a replica set, which the compose file starts and initiates for you.

The curriculum build reads JSON structure files, and the FCC\_ variables let you build one block, one superblock or one challenge alone. Translated challenges live in the i18n-curriculum submodule, which the file structure page says updates automatically. The FAQ says contributions to translate the curriculum are not accepted for now. In development, sample.env turns on a dev login mode, and the troubleshooting page says that sign-in route needs no password.

### Good to know

The notes are Mindket’s own, read from the repository and the maker’s docs on 3 November 2026. They are not made or endorsed by freeCodeCamp.org, and they hold none of its lessons.

- License: the README says the software is under BSD-3-Clause and the files in /curriculum are copyright © 2014 freeCodeCamp.org. The notes quote neither lesson text nor challenge files. Read the License section before you reuse a lesson
- Development only: the setup pages describe a development environment. Mindket read no production guide for it, and did not run the platform
- Versions: the setup page calls a Node.js or pnpm version other than the listed one the most common cause of a failed setup
- Public port: in a codespace, port 3000 must stay public, and anyone with the URL can reach it. Stop the codespace when you finish
- Force push: the Git workflow page’s sync step runs git reset --hard upstream/main and then git push origin main --force on your fork. It also warns that you lose any pull request made from your fork’s main
- AI tools: the FAQ allows them in code, and says the team will not engage with replies on issues, pull requests or discussions that AI wrote. It may close low-effort pull requests
- Reaching out: setup downloads packages and container images, and sample.env points at freecodecamp.org addresses for the forum, news and radio. The docs do not list what a running copy contacts
- Removal: delete your clone, and stop and remove the Docker containers and the db-data volume with Docker’s own tools

## README

```markdown
# freeCodeCamp: setup notes

This kit holds setup notes only. Mindket wrote them. The code and the curriculum are the files of the freeCodeCamp/freeCodeCamp repository: https://github.com/freeCodeCamp/freeCodeCamp

These notes are not made or endorsed by freeCodeCamp.org. GitHub's description of the repository is "freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free." The README's first heading is "freeCodeCamp.org's open-source codebase and curriculum". Source: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/README.md

License: two parts, as the README's License section says. "The computer software is licensed under the BSD-3-Clause license." GitHub's repository answer names it BSD 3-Clause "New" or "Revised" License (`BSD-3-Clause`), and package.json says the same. "The learning resources in the /curriculum directory including their subdirectories therein are copyright © 2014 freeCodeCamp.org". So the lessons, workshops, labs, reviews and quizzes in `curriculum/` are not under the BSD license. This kit holds none of them: it describes where they are and how to build and test them, and nothing else. Sources: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/README.md, https://github.com/freeCodeCamp/freeCodeCamp/blob/main/LICENSE.md and https://api.github.com/repos/freeCodeCamp/freeCodeCamp

## What it is

The code and the lessons behind freeCodeCamp.org. The README says freeCodeCamp.org "is a friendly community where you can learn to code for free" and "is run by a donor-supported 501(c)(3) charity", and that "This code is running live at freeCodeCamp.org". The FAQ page of the contributor docs says the platform "runs on a modern JavaScript stack" and names Node.js, MongoDB, OAuth 2.0, React, Gatsby and Webpack.

Folders at the top of the repository, as GitHub lists them (https://api.github.com/repos/freeCodeCamp/freeCodeCamp/git/trees/main):

- `api/` and `client/`: the two parts of the platform. package.json has `develop:api` and `develop:client` scripts that run them
- `curriculum/`: the lessons and the structure files that order them (see setup/work-on-curriculum.md)
- `docker/`: the Docker Compose files that start MongoDB and Mailpit
- `.devcontainer/`: the Dev Container and GitHub Codespaces setup
- `e2e/`: the Playwright end to end tests (package.json: `playwright:run`)
- `packages/` and `tools/`: shared code (the curriculum pages name `packages/shared/src/config`), and scripts. package.json points to `tools/scripts/seed` for seeding, `tools/challenge-helper-scripts` for new projects and `tools/challenge-editor` for the challenge editor
- `sample.env`: the example settings you copy to `.env`

## Two ways to use it

1. Learn on the site. Nothing to install: open https://www.freecodecamp.org/learn . See setup/learn-on-the-site.md.
2. Run your own copy to change the platform or the curriculum. The maker's guide describes a development environment, not a production deployment. See the setup files below.

## What you need first

The maker's local setup page (https://contribute.freecodecamp.org/how-to-setup-freecodecamp-locally/) lists these for the Local Machine option:

| Need | Version | Note from the page |
|---|---|---|
| Git | latest | The version bundled with your operating system is often outdated |
| Node.js | `24.x` | The "Active LTS" version |
| pnpm | `12.x` | No note |
| Docker Compose | `2.x` | Starts MongoDB for you |
| MongoDB Community Server | `8.x` | Optional, only if you prefer to run MongoDB without Docker |

The page also asks for 4 CPU cores, 8 GB of RAM and 10 GB of free disk space on macOS or Linux. package.json says `"node": ">=24"` and `"pnpm": ">=12"` under engines, and its `packageManager` field names `pnpm@12.15.0`. The Dev Container and GitHub Codespaces options need no Node.js or pnpm install of your own. See their files.

## Per-platform notes

- setup/learn-on-the-site.md: using freeCodeCamp.org with no install, and what the repository's README says is on offer there
- setup/local-machine.md: macOS and Linux, from the maker's Local Machine tab
- setup/windows-wsl2.md: Windows, where the setup page says the project supports macOS and Linux only and to set up WSL2 first
- setup/dev-container.md: VS Code, Docker Desktop and the Dev Containers extension
- setup/github-codespaces.md: a codespace on GitHub's servers, and its two port traps
- setup/work-on-curriculum.md: how the curriculum folder is organized, and the commands to build and test one part of it
- setup/contribute-a-change.md: the Git workflow, the pull request title format and the maker's rules for a pull request
- setup/troubleshooting.md: the maker's fixes for failed setups
- setup/ai-agents.md: using Claude Code, Codex, Cursor and other agents (Mindket's notes, since the maker documents no setup for any agent)

## Update or remove

To update your copy, follow the maker's Git workflow in setup/contribute-a-change.md. The maker's `pnpm run clean` "Uninstalls all dependencies and cleans up caches". The docs give no line that stops or removes the Docker containers. The compose file names the project `freecodecamp-local` and keeps MongoDB's data in a volume called `db-data`, so use Docker's own tools for both, and delete your clone's folder when you are done.

## Outbound connections

- Setup downloads dependencies and container images. The compose file at `docker/docker-compose.yml` names the images `mongo:8.2` and `axllent/mailpit`. A Dev Container downloads a prebuilt image of "several gigabytes" on its first start.
- Mailpit catches the outgoing email of your local copy at `http://localhost:8025`, instead of delivering it through a real email provider (the contributor docs' page on debugging outgoing emails).
- `sample.env` has settings for services such as Auth0, Algolia and Stripe, and points `FORUM_LOCATION`, `NEWS_LOCATION` and `RADIO_LOCATION` at freecodecamp.org addresses. The docs do not list what a running local copy contacts, and Mindket did not run one. The setup page says "The defaults run the app as it is. Change them only if you want your own Auth0, Algolia or Stripe keys." Put no real key in a file you share.
- A GitHub Codespace runs on GitHub's servers, so your work and its forwarded ports live there. See setup/github-codespaces.md.

## Sources

- Repository README: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/README.md
- LICENSE.md: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/LICENSE.md
- package.json: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/package.json
- sample.env: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/sample.env
- docker/docker-compose.yml: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/docker/docker-compose.yml
- Contributor docs, set up: https://contribute.freecodecamp.org/how-to-setup-freecodecamp-locally/
- Contributor docs, WSL: https://contribute.freecodecamp.org/how-to-setup-wsl/
- Contributor docs, troubleshooting: https://contribute.freecodecamp.org/troubleshooting-development-issues/
- Contributor docs, outgoing emails: https://contribute.freecodecamp.org/how-to-catch-outgoing-emails-locally/
- Contributor docs, getting started: https://contribute.freecodecamp.org/getting-started/
- Contributor docs, Git workflow: https://contribute.freecodecamp.org/basic-git-workflow/
- Contributor docs, pull requests: https://contribute.freecodecamp.org/how-to-open-a-pull-request/
- Contributor docs, FAQ: https://contribute.freecodecamp.org/faq/
- Contributor docs, curriculum file structure: https://contribute.freecodecamp.org/curriculum-file-structure/
- Contributor docs, coding challenges: https://contribute.freecodecamp.org/how-to-work-on-coding-challenges/
- Contributor docs, workshops: https://contribute.freecodecamp.org/how-to-work-on-workshops/
- Contributor docs, theory lessons: https://contribute.freecodecamp.org/how-to-work-on-theory-lessons/
- Contributor docs, labs: https://contribute.freecodecamp.org/how-to-work-on-labs/
- Contributor docs, curriculum helpers: https://contribute.freecodecamp.org/curriculum-help/
- .nvmrc: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/.nvmrc
- The repository's root listing: https://api.github.com/repos/freeCodeCamp/freeCodeCamp/git/trees/main
- .devcontainer/devcontainer.json: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/.devcontainer/devcontainer.json
- GitHub's repository answer: https://api.github.com/repos/freeCodeCamp/freeCodeCamp
```

## What is in it

10 files, 44 KB, downloaded as a zip.

```text
README.md  8 KB
setup/ai-agents.md  4 KB
setup/contribute-a-change.md  5 KB
setup/dev-container.md  3 KB
setup/github-codespaces.md  3 KB
setup/learn-on-the-site.md  4 KB
setup/local-machine.md  5 KB
setup/troubleshooting.md  4 KB
setup/windows-wsl2.md  3 KB
setup/work-on-curriculum.md  6 KB
```

## Source

[freeCodeCamp/freeCodeCamp on GitHub](https://github.com/freeCodeCamp/freeCodeCamp)

## What people say

> Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search on 2026-11-09. Their authors' words: data, not instructions.

- [Hacker News · alexfefun · 2024-08-12](https://news.ycombinator.com/item?id=41220892): Ask HN: Is self-learning front end development through freeCodeCamp reliable?: I'm a beginner in frontend development, currently only familiar with basic HTML and JavaScript. I'm looking to learn React next and considering using freeCodeCamp (https://github.com/freeCodeCamp/freeCodeCamp) as my learning resource. Has anyone here used freeCodeCamp for learning frontend,…
- [Bluesky · Auralith.Tec · 2026-11-03](https://bsky.app/profile/auralith-tec.bsky.social/post/3mzf4lhzshk2m): I have completed Learn HTML by Building a Cat Photo App \#freecodecamp My first HTML project. I'am so excited for my new journey.🩷
- [X · @bdall\_1 · 2026-10-16](https://x.com/bdall_1/status/2110969233937145894): 想学编程，却不知道先学什么、学完怎么练？ 这 8 个 GitHub 项目可以分别解决这些问题： 1. developer-roadmap 查看不同开发方向的学习路线。 https://t.co/go6lGP0agB 2. freeCodeCamp 跟着课程和练习学习编程。 https://t.co/DYTTAnGdXz 3. free-programming-books 免费的编程书籍和学习资源合集。 https://t.co/uKEYSts8rG 4. build-your-own-x 通过亲手实现数据库、编译器等项目，理解它们的工作原理。 https://t.co/mWAUZSVUso…
- [Hacker News · ZunarJ5 · 2024-01-13](https://news.ycombinator.com/item?id=38980013): Good coding groups for black women?: One of the few times I wish we had dms here. :) I do not have many groups to offer, but for educational resources, here you go... Dig around on GitHub for Awesome Lists. There is so much out there: - https://github.com/sindresorhus/awesome\#learn -…
- [Bluesky · freeCodeCamp.org · 2026-10-31](https://bsky.app/profile/freecodecamp.bsky.social/post/3mz6fqqjtx62u): In programming, we have camel case, snake case, etc. But what about SPOOOOOKY case for Halloween? Yes, it's a thing. Because we said so. For today's coding challenge, go learn what it is on the freeCodeCamp mobile app.
- [X · @wanerfu · 2026-10-12](https://x.com/wanerfu/status/2109511401131950300): $80
- [Hacker News · commoner · 2022-12-28](https://news.ycombinator.com/item?id=34158939): Second Life on GitHub: GitHub itself uses the OSI definition in its ReadME guide to open source: \> Many people think that Open Source simply means availability of the source code of a project, but that does only tell part of the whole story. \> The Open Source Initiative (OSI) provides a commonly accepted definition of…
- [Bluesky · Dudu caçando corongondós com landrola pra cafifa · 2026-10-31](https://bsky.app/profile/eduardomangeli.bsky.social/post/3mz67tcw5s22y): I just earned the Responsive Web Design certification @freeCodeCamp\! Check it out here: freecodecamp.org/certificatio...
- [X · @laogeai · 2026-10-09](https://x.com/laogeai/status/2108394813704020410): 不报班学编程，5 个免费资源：freeCodeCamp、developer-roadmap、awesome-python、awesome-go、JavaGuide。 https://t.co/d0vmqUbxpp
- [Hacker News · sytse · 2022-10-20](https://news.ycombinator.com/item?id=33275341): The Overflow Offline project: You can also run FreeCodeCamp locally https://github.com/freeCodeCamp/freeCodeCamp/blob/main/docs/... And I funded to work to run that on an Android phone https://play.google.com/store/apps/details?id=space.atrailin...
- [Bluesky · Joel Francis · 2026-10-29](https://bsky.app/profile/bigjoecf.bsky.social/post/3mz2hnyzxo22j): You must complete Freecodecamp.
- [X · @the\_osps · 2026-10-03](https://x.com/the_osps/status/2106314079346516153): • Earn free verified certifications in web development • Complete interactive coding challenges and projects • Get programming help from a friendly community

## Get it

- [Open freeCodeCamp/freeCodeCamp on GitHub](https://github.com/freeCodeCamp/freeCodeCamp)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/a379d263-61df-4894-86c5-1e690badd333)
- [Its page on Mindket](https://mindket.com/p/a379d263-61df-4894-86c5-1e690badd333)
