Skip to content

Latest commit

 

History

History
97 lines (52 loc) · 5.11 KB

File metadata and controls

97 lines (52 loc) · 5.11 KB

freeCodeCamp Social Banner

Pull Requests Welcome first-timers-only Friendly

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.

Classroom

A self-hosted solution to help teachers plan and manage classroom-based learning, on top of freeCodeCamp's learning platform.

Motivation

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.

Contributing

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.

Instructions to set up your code:

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.

Styling a component

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.

System Design and Architecture

System Diagram

We recommend going through our system design diagram.

Resources

Contact Information

Join us in our Discord Chat.

Terminology

freeCodeCamp uses the following terms:

Certification = 'superblock'

Course(s) = 'blocks'

Everything under a course/block is a 'challenge'

API

This project uses multiple APIs from freeCodeCamp. Check out the following and familiarize yourself.

Superblock API

Blocks API

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.

Tech Stack Learning Resources

Jest Snapshot Testing

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.

Next.js Fullstack Framework

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.

Next.js Terminology:

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.

License

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.