• Stars
    star
    464
  • Rank 94,450 (Top 2 %)
  • Language
    TypeScript
  • License
    GNU Affero Genera...
  • Created about 1 year ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Launch your Online Bootcamp in Minutes. Create your Own Udemy/Coursera In Minutes
Spend less time on the boring stuff, and instead focus on impacting the lives of your students.

ClassroomIO

The Open Source Teaching Platform for Tech Bootcamps
Website | Join Discord community

✨ About ClassroomIO

ClassroomIO Courses page

ClassroomIO is a platform for bootcamps, individual educators, and training businesses that brings teaching and learning into one place while at the same time helping them be 10x more productive. With our platform, anyone can run multiple classes and cohorts all from one UI. The application is mobile-first, which means that students can access your lesson materials from any device.

Mission: Provide Students with the Best Learning Experience

At ClassroomIO, our mission is to provide students with the best possible learning experience. We believe in empowering educators with the tools they need to deliver high-quality education that is accessible, engaging, and effective.

Key Features

  1. 📚 Advanced Course Management: You can create unlimited courses, create lessons, invite students, add assignments, grade their assignments, and even generate certificates.
  2. 👨‍👩‍👦 Multi-Teacher Management: You can invite other teachers into your organization and assign them individual courses.
  3. 🤖 AI Integration: We've got OpenAI integration for quick course creation where you can generate course content, lesson outlines, and even generate assignments right from your lesson notes.
  4. 💬 Forum: Students can ask questions in your dedicated community and get answers from either you or other students.
  5. 🏆 Kahoot-Like Quiz: You can create live quizzes to create more engagement in your classrooms.
  6. 💻 Dedicated Student Dashboard: Once you create an account, you get a dedicated dashboard where your students can access all their courses, assignments, and more.
  7. 🔒 Fully open source: You can self-host the entire stack on your servers.

Roadmap Features

  1. Forms: Instead of using Google Forms to collect vital information from your students, you will be able to create forms directly within the dashboard.
  2. Course Announcement: You can send public announcements from the course dashboard to all your students.
  3. Course Templates: You can clone a full course or share templates with other people.
  4. Analytics: You can track data about your students across multiple courses.
  5. Run Courses on Messengers: Students can just join a channel on slack/discord/telegram and a bot automatically sends daily lesson content to your students without you doing anything.

Please reach out to me on twitter if you have any feature request.

Built With

Get a Demo

You can book a quick 15 min demo to see if ClassroomIO is a good fit for you

Book a Call with ClassroomIO.com

Getting Started

To get a local copy up and running, please follow these simple steps.

Prerequisites

Here is what you need to be able to run ClassroomIO.com

Project Structure

This repo is a mono repo that consists of 3 projects:

  1. classroomio-com: The landing page of ClassroomIO hosted here
  2. dashboard: The web application that runs the learning management system.
  3. docs: Official documentation of ClassroomIO hosted here

Development

Gitpod Setup

  1. Click the button below to open this project in Gitpod.

  2. This will open a fully configured workspace in your browser with all the necessary dependencies already installed.

Open in Gitpod

Local Setup

  1. Fork the repo, then clone it using the following command (remember to replace the url with the url from your forked repo)

    git clone https://github.com/rotimi-best/classroomio.git
  2. Go to project folder

    cd classroomio
  3. Set up Node if your Node version does not meet the project's requirements, as instructed by the documentation., "nvm" (Node Version Manager) allows using Node at the version required by the project:

    nvm use

    You first might need to install the specific version and then use it:

    nvm install && nvm use

    You can install nvm from here.

    You also need to have pnpm installed, you can find the installation guide here

  4. Set up your .env file

    • Go to apps/classroomio-com and apps/dashboard
    • Duplicate the .env.example file and rename it to .env
  5. Setup Supabase.

    • Make sure you've downloaded the Supabase cli

    • Install and Start docker

    • Go to the project directory in your terminal and start Supabase

        pnpm supabase start
    • You should get a result like this

        supabase local development setup is running.
      
          API URL: http://127.0.0.1:54321
      GraphQL URL: http://127.0.0.1:54321/graphql/v1
            DB URL: postgresql://postgres:[email protected]:54322/postgres
        Studio URL: http://127.0.0.1:54323
      Inbucket URL: http://127.0.0.1:54324
        JWT secret: super-secret-jwt-token-with-at-least-32-characters-long
          anon key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0
      service_role key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU
    • Add Supabase environment variables into app/dashboard folder, which should be taken from the result of pnpm supabase start

        PUBLIC_SUPABASE_URL=<API URL>
        PUBLIC_SUPABASE_ANON_KEY=<anon key>
        PUBLIC_SUPABASE_BUCKET_URL=<Inbucket URL>
    • To view the Supabase studio, open the Studio URL from the result of pnpm supabase start

  6. Install the required dependencies

    pnpm i
  7. Run all projects (in development mode)

    pnpm dev
  8. All projects should start running

  9. Running a specific project

    • classroomio-com: pnpm dev --filter=classroomio-com
    • dashboard: pnpm dev --filter=dashboard
    • docs: pnpm dev --filter=docs

More Repositories

1

sveltedoc

Think of Google doc (without the whole collaboration complexity) with a twist that all the documents you create are open to everyone to find and leave comments. Something like youtube but for documents or github gists. Its a PWA
Svelte
16
star
2

attendance-bot

A telegram bot that allows teachers and lecturers to take attendance of their lectures and see the updates in a google spreadsheet
JavaScript
10
star
3

quizify

Quizify is an AI Quiz generator powered by Vercel AI SDK. Built with Sveltekit, OpenAI, and Vercel AI SDK.
Svelte
7
star
4

mytodos

A telegram bot for creating and managing todos.
JavaScript
6
star
5

learn-bible-verses

A telegram bot that helps you learn bible verses
JavaScript
4
star
6

dream-dictionary-bot

This is a telegram bot that help you interpret your dreams
JavaScript
2
star
7

go_crash_course

A crashcourse from brad traversy on Go
Go
2
star
8

portfolio

My portfolio website (still in progress)
TypeScript
2
star
9

telegram-bot-boilerplate

This a my custom boiler plate for building any kind of telegram bot.
JavaScript
2
star
10

stackoverflow-visitor

I want to get the Fanatic badge on stackoverflow which requires to visit the site each day for 100 consecutive days, but most times I forget and I begin all over again from 0, so I decided to write a script that helps me get this badge. Its a cron job that visits stackoverflow daily.
Go
2
star
11

classroomio.com

The Official Landing Page of ClassroomIO
Svelte
2
star
12

login-page

A clone of the pluralright login page
CSS
1
star
13

node-cheatsheet

Testing Node js functionalities before implementing into my project
JavaScript
1
star
14

bookmarker

Link bookmarker
JavaScript
1
star
15

redux-react

a traversy media tutorial on getting started with react and redux
JavaScript
1
star
16

python-turtle-cycle

This was one of the python lessons I took from udacity on how to draw a cycle from drawing squares.
Python
1
star
17

react-conditional-rendering

JavaScript
1
star
18

prayerkeep

A PWA that allows users share prayer requests. The goal of the project is described https://coda.io/@rotimi-best/prayerkeep-better-way-of-sharing-prayer-requests
JavaScript
1
star
19

telegram-node-calendar

A telegram inline calendar in Nodejs
JavaScript
1
star
20

megadb

This project is a web application that help my university monitor the how teachers have access to the lecture halls in the university. Using PHP as the backend language.
PHP
1
star
21

city-country-timezone

Find the timezone from countries given or city and country indicated.
JavaScript
1
star
22

fire_finger

Dart
1
star
23

react-lifecycle-methods-demo

JavaScript
1
star
24

account-balance

Telegram bot that manages expensis and income
Go
1
star
25

information-systems-design

4th year course that is focused on how to develop information systems
JavaScript
1
star
26

react-tutorial

This repo holds the source code to the course I will teach on react
JavaScript
1
star
27

rotimi-best

1
star
28

mvivid

This is a mini linkedin PWA all around students
JavaScript
1
star
29

predict-career-tensorflow

An articificial inteligence that can tell which career best suits a person by answering certain questions
JavaScript
1
star
30

docs.classroomio.com

The Official Help Docs of ClassroomIO
TypeScript
1
star