Prerequisites
Before you begin, ensure you have the following installed on your system:- Node.js - Version 20.19.3 or higher
- pnpm - Package manager
- Docker - For running Supabase locally
- Supabase CLI - For local database management
- Git - Version control
You can use nvm (Node Version Manager) to install and manage Node versions easily.
Installation
Set Up Node Version
If you’re using nvm, set the correct Node version:If the version isn’t installed, install it first:
Start Supabase
Ensure Docker is running, then start the local Supabase instance:You should see output like this:
Running the Development Server
Run All Projects
To start all projects simultaneously in development mode:- classroomio-com (landing page): http://localhost:5174
- api (backend services): http://localhost:3002
- dashboard (main LMS): http://localhost:5173
- docs (documentation): http://localhost:3000
Run Specific Projects
If you only want to work on a specific application:Other Useful Commands
Build all projects
Run linter
Format code
Clean all dependencies and build artifacts
Start production build
Testing Your Setup
Access the Dashboard
Navigate to http://localhost:5173/login
Login with Demo Account
Use these credentials:
- Email:
[email protected] - Password:
123456
Troubleshooting
Supabase won't start
Supabase won't start
Make sure Docker is running and you have enough disk space. Try stopping all containers and restarting:
Port conflicts
Port conflicts
If you get port conflict errors, check if other services are using the default ports (5173, 3002, 5174, 3000, 54321-54324). Stop those services or configure different ports in your project.
Dependencies won't install
Dependencies won't install
Clear your pnpm cache and try again:
Next Steps
Now that your development environment is set up, learn about the project structure:Project Structure
Understand how the ClassroomIO codebase is organized