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
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update donate link Nov 26, 2019
api-server chore: fix typos in spelling (#38100) Feb 8, 2020
client fix(client): localise calendar to user's current timezone (#38217) Feb 14, 2020
config fix(donate): implement donate page Dec 20, 2019
curriculum added solution to d3 challenge add-labels-to-d3-elements (#38208) Feb 13, 2020
docs docs(i18n): Portuguese translation of README file (#36993) Feb 10, 2020
search-indexing chore: fix typos in spelling (#38100) Feb 8, 2020
tools chore: fix typos in spelling (#38100) Feb 8, 2020
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 docs: update link to coc Feb 16, 2020 fix(docs): typo Feb 12, 2020
Dockerfile.tests chore(tools): tests in a docker container Mar 15, 2019 docs: update hall of fame verbiage Feb 8, 2020 chore: update license year (#37999) Jan 1, 2020 docs: update readme for HoF wording Feb 10, 2020 docs: added responsible disclosure and hall of fame Feb 8, 2020 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 and Responsible Disclosure

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.

We appreciate any responsible disclosure of vulnerabilities that might impact the integrity of our platforms and users. While we do not offer any bounties or swags at the moment, we'll be happy to list your name in our Hall of Fame for security researchers.


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 © 2020

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.