freeCodeCamp.org 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 40,000 people get their first developer job. Our full-stack web development and machine learning curriculum is completely free and self-paced. We have thousands of interactive coding challenges to help you expand your skills.
A self-hosted solution to help teachers plan and manage classroom-based learning, on top of freeCodeCamp's learning platform.
For a while now teachers have been asking for a way to get a birds eye view of multiple students who are progressing through the course. This is why we set out to make freeCodeCamp classroom mode, an interactive dashboard for teachers to view multiple freeCodeCamp users’ progress on their courses.
This project supports multiple ways to set up the codebase. You can choose to either to use Gitpod or Github Codespaces for a browser environment or set up locally. Please use whichever you feel the most comfortable with. We recommend Github Codespaces if you are not sure.
Please read our contibution guidelines before making your first pull request.
Option 1 - GitHub Codespaces Environment
Option 2 - GitPod Dev Environment
Option 3 - Local Docker Enviornment
Need more help? Ran into issues? Check out this guide that walks you through all the steps of setting up the repository locally, without Docker.
We recommend styling components using our design style guide.
We are strongly opinionated about adding new variables/tokens to the colors. After careful research, the colors have been chosen to respect the freeCodeCamp brand identity, developer experience, and accessibility.
We recommend going through our system design diagram.
Join us in our Discord Chat.
freeCodeCamp uses the following terms:
Certification = 'superblock'
Course(s) = 'blocks'
Everything under a course/block is a 'challenge'
This project uses multiple APIs from freeCodeCamp. Check out the following and familiarize yourself.
Mock API: Student information - this will be replaced with real student information in the future. It is not available publicly yet, you will need to start the application and go to http://localhost:3001/data.
We are always in need of more tests! Checkout Jest's snapshot testing docs. We recommend learning snapshot testing as we require tests for each component inside our project.
This project utilizes Next.js to optimize performance, such as SEO. We recommend learning main concepts of Next.js and familiarizing yourself on testing with Next.js.
| Term | Value |
|---|---|
| SSR | Server Side Rendering |
| SSG | Static Site Generation |
| ISR | Incremental Static Regeneration |
| CSR | Client Side Rendering |
ISR is probably the focus point. Checkout this article to understand these concepts and how they are helpful.
Copyright © 2021 freeCodeCamp.org
The content of this repository is bound by the following licenses:
- The computer software is licensed under the BSD-3-Clause license.

