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 chore: update issue templates Oct 2, 2019
api-server fix: reword honesty policy and replace profile with portfolio… (#37282) Oct 14, 2019
client fix: reword honesty policy and replace profile with portfolio… (#37282) Oct 14, 2019
config fix: handle invalid Algolia keys gracefully in dev (#37088) Oct 8, 2019
curriculum fix: Change project URL to a working fCC example project Oct 14, 2019
docs [docs] Updated How to Work on Challenge Files to explain how t… (#37188) Oct 14, 2019
search-indexing feat: news indexing script (#36512) Jul 29, 2019
tools revert: point to the subdomain instead (#37155) Oct 9, 2019
utils fix: make dasherize trim first Sep 26, 2019
.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(deploy): misc. re-arrange scripts and organize Jun 20, 2019
.vcmrc feat: enforce conventional commit messages Jul 13, 2017 Corrected spelling of "available" (#19978) Oct 18, 2018 docs: update faqs on contributing guide (#37046) Oct 8, 2019
Dockerfile.tests chore(tools): tests in a docker container Mar 15, 2019 Adjusted Copyright to 2019 (#34790) Jan 2, 2019 docs: update contributing guides (#36816) Sep 20, 2019 docs: update security docs Sep 24, 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
libcimp_index_js.patch chore(tools): update docker setup to use npm ci May 2, 2019
package-lock.json fix: default to light mode (#37100) Oct 7, 2019
package.json feat: add script to clean, install and develop Sep 27, 2019 chore(tools): update docker setup to use npm ci May 2, 2019
sample.env fix: handle invalid Algolia keys gracefully in dev (#37088) Oct 8, 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 with the goal of helping 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 in the event that 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 comprehensive guide to thousands of programming topics
  • 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.