Collaboration
The Open Source Learning Management System for Companies
Website | Join Discord community
Streamline training for everyone with ClassroomIO.com. Our all-in-one platform empowers bootcamps, educators, and businesses to manage training programs easily. 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.
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.
Please reach out to me on twitter if you have any feature request.
You can book a quick 15 min demo to see if ClassroomIO is a good fit for you
To get a local copy up and running, please follow these simple steps.
Here is what you need to be able to run ClassroomIO.com
This repo is a mono repo that consists of 3 projects:
classroomio-com
: The landing page of ClassroomIO hosted herebackend
: The backend service that handles PDF, video processing, Emailing and Notifications.dashboard
: The web application that runs the learning management system hosted here.docs
: Official documentation of ClassroomIO hosted hereClick the button below to open this project in Gitpod.
This will open a fully configured workspace in your browser with all the necessary dependencies already installed.
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
Go to project folder
cd classroomio
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
Set up your .env
file
apps/classroomio-com
, apps/dashboard
and apps/backend
..env.example
file and rename it to .env
To get the environmental variables for supabase continue to step(5)
Install all dependencies
pnpm i
Setup Supabase.
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:postgres@127.0.0.1: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>
PRIVATE_SUPABASE_SERVICE_ROLE=<service_role key>
To view the Supabase studio, open the Studio URL from the result of pnpm supabase start
Run all projects (in development mode)
pnpm dev
All projects should start running
classroomio-com
: http://localhost:5174backend
: http://localhost:3002dashboard
: http://localhost:5173docs
: http://localhost:3000Running a specific project
pnpm dev --filter=classroomio-com
pnpm dev --filter=backend
pnpm dev --filter=dashboard
pnpm dev --filter=docs
Login into dashboard
admin@test.com
123456
To learn more about how to login with a dummy account, go here.