Skip to content
The open source codebase and curriculum. Learn to code for free together with millions of people.
JavaScript CSS HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update donate link Nov 26, 2019
api-server fix: remove all year-end gift implementation (#38030) Jan 8, 2020
client fix: change test-evaluator hash to refresh cache Jan 13, 2020
config fix(donate): implement donate page Dec 20, 2019
curriculum Removed typo from Instructions (#38066) Jan 15, 2020
docs fix(client): Update sign-in gif for local development (#37995) Dec 30, 2019
search-indexing chore(deps): bump handlebars from 4.1.2 to 4.5.3 (#37987) Dec 27, 2019
tools chore(deps): bump handlebars from 4.1.2 to 4.5.3 (#37987) Dec 27, 2019
utils fix(client): show certs on timeline (#37947) Jan 3, 2020
.editorconfig Add .editorconfig to enforce certain automatic behavior on all editors, Mar 29, 2015
.eslintignore fix: Add eslint ignore file to root Feb 19, 2019
.eslintrc.json chore: extend linting to cover react hooks (#36725) Aug 30, 2019
.gitattributes chore(tools): set git attributes for line endigs (#35298) Feb 22, 2019
.gitignore chore: .gitignore and image enhancements (#37075) Oct 7, 2019
.gitpod.yml fix(tools): fix and accelerate automated gitpod dev setup (#36720) Aug 30, 2019
.node-inspectorrc twitter username now persisted Oct 14, 2014
.prettierignore feat: Add scripts to format and lint with prettier Jul 19, 2019
.prettierrc feat: use prettier with eslint Feb 19, 2019
.snyk fix(snyk): Updated patches for vulnerabilities Jul 2, 2018
.travis.yml fix: provide Travis dummy environment variables Dec 12, 2019
.vcmrc feat: enforce conventional commit messages Jul 13, 2017 Corrected spelling of "available" (#19978) Oct 18, 2018 docs: add faq about guide articles (#37874) Dec 5, 2019
Dockerfile.tests chore(tools): tests in a docker container Mar 15, 2019 chore: update license year (#37999) Jan 1, 2020 docs: update grammar in readme (#37237) Oct 18, 2019 docs: update security guidelines to current branch (#37672) Nov 4, 2019 chore(tools): use data volumes for node_modules Mar 15, 2019
docker-compose-shared.yml feat: Allows sharing of network (#16937) Mar 30, 2018
docker-compose.tests.yml chore(tools): use data volumes for node_modules Mar 15, 2019
docker-compose.yml fix(tools): rearrange scripts and graceful exit Jun 15, 2019
lerna.json fix(deploy): misc. re-arrange scripts and organize Jun 20, 2019
package-lock.json chore(deps): bump handlebars from 4.1.2 to 4.5.3 (#37987) Dec 27, 2019
package.json feat: simplify development setup Dec 12, 2019
sample.env fix(donate): control plan creation with environment variable Nov 19, 2019 Social Banner

Pull Requests Welcome first-timers-only Friendly Open Source Helpers Setup Automated's open-source codebase and curriculum is a friendly community where you can learn to code for free. It is run by a donor-supported 501(c)(3) nonprofit to help millions of busy adults transition into tech. Our community has already helped more than 10,000 people get their first developer job.

Our full-stack web development curriculum is completely free and self-paced. We have thousands of interactive coding challenges to help you expand your skills.

Table of Contents

Certifications offers several free developer certifications. Each of these certifications involves building 5 required web app projects, along with hundreds of optional coding challenges to help you prepare for those projects. We estimate that each certification will take a beginning programmer around 300 hours to earn.

Each of these 30 projects in the curriculum has its own agile user stories and automated tests. These help you build up your project incrementally and ensure you've fulfilled all the user stories before you submit it.

You can pull in these test suites through freeCodeCamp's CDN. This means you can build these projects on websites like CodePen and Glitch - or even on your local computer's development environment.

Once you’ve earned a certification, you will always have it. You will always be able to link to it from your LinkedIn or résumé. And when your prospective employers or freelance clients click that link, they’ll see a verified certification specific to you.

The one exception to this is if we discover violations of our Academic Honesty Policy. When we catch people unambiguously plagiarizing (submitting other people's code or projects as their own without citation), we do what all rigorous institutions of learning should do - we revoke their certifications and ban those people.

Here are our six core certifications:

1. Responsive Web Design Certification

2. JavaScript Algorithms and Data Structures Certification

3. Front End Libraries Certification

4. Data Visualization Certification

5. APIs and Microservices Certification

6. Information Security and Quality Assurance Certification

Full Stack Development Certification

Once you have earned all 6 of these certifications, you'll be able to claim your Full Stack Development Certification. This final distinction signifies that you’ve completed around 1,800 hours of coding with a wide range of web development tools.

Legacy Certifications

We also have 3 legacy certifications from our 2015 curriculum, which are still available. All of the required projects for these legacy certifications will remain available on

  • Legacy Front End Development Certification
  • Legacy Data Visualization Certification
  • Legacy Back End Development Certification

The Learning Platform

This code is running live at

Our community also has:

  • A forum where you can usually get programming help or project feedback within hours.
  • A YouTube channel with free courses on Python, SQL, Android, and a wide variety of other technologies.
  • A podcast with technology insights and inspiring stories from developers.
  • A Developer News publication, a free, open source, no-ads place to cross-post your blog articles.

Join our community here.

Reporting Bugs and Issues

If you think you've found a bug, first read the how to report a bug article and follow its instructions.

If you're confident it's a new bug and have confirmed that someone else is facing the same issue, go ahead and create a new GitHub issue. Be sure to include as much information as possible so we can reproduce the bug.

Reporting Security Issues

If you think you have found a vulnerability, please report responsibly. Don't create GitHub issues for security issues. Instead, please send an email to and we'll look into it immediately.


Please follow these steps to contribute.

Platform, Build and Deployment Status

The general platform status for all our applications is available at The build and deployment status for the code is available in our DevOps Guide.


Copyright © 2019

The content of this repository is bound by the following licenses:

  • The computer software is licensed under the BSD-3-Clause license.
  • The learning resources in the /curriculum directory including their subdirectories thereon are licensed under the CC-BY-SA-4.0 license.
You can’t perform that action at this time.