Skip to content

freeCodeCamp/classroom

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 learn 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

Optional - GitPod Dev Environment

If you want a ready made dev environment in your browser, make a fork of this repository and then prefix your fork with gitpod.io/# gitpod.io/#https://github.com/{your-name}/{fork-name} You will still need to setup your NextAuth related environment variables in the .env file. For more information, please follow the "Setup Instructions" in the terminal. For setting up on local, follow the instructions below.

Prepare the database

This project uses a PostgreSQL database. You should follow the instructions in the linked documenation to set it up for your system. Alternatively, you can use the below commands for a docker-based setup on likes of Linux or macOS, if you have docker installed.

Docker based setup on Linux, macOS, etc.
# create a directory for the data
mkdir -p $HOME/docker/volumes/postgres

# start a container (this will use the "latest" tag. Use the version as needed)
docker run -it --name pgsql-classroom -e POSTGRES_PASSWORD=password -d --restart unless-stopped -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data postgres:latest

Get the code

  1. Clone the project repository.
    git clone https://github.com/freeCodeCamp/classroom.git
    cd classroom
  2. We use npm (specifically npm workspaces) to manage our dependencies.
    npm ci
  3. Create .env file based on the .env.sample file. Theses are the environment variables that are used by the application.
  4. Run npx prisma generate.
  5. Run npx prisma db push.
  6. Run npx prisma db seed.
  7. Run npm run develop.
  8. Run npm run mock-fcc-data

Join us in our Discord Chat here.

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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published