Get Started with Smart Classroom#
Important: Use Windows PowerShell (not Command Prompt/CMD) for all steps in this guide. PowerShell scripts (
.ps1files) will not execute in CMD — they will only open as text files.
Step 1: Clone the Repository#
Go to the target directory of your choice and clone the suite.
If you want to clone a specific release branch, replace main with the desired tag.
To learn more on partial cloning, check the Repository Cloning guide.
git clone --filter=blob:none --sparse --branch release-2026.2.0 https://github.com/open-edge-platform/edge-ai-suites.git
cd edge-ai-suites
git sparse-checkout set education-ai-suite
cd education-ai-suite/smart-classroom
Step 2: Run the Setup Script (First-Time Only)#
.\setup-smart-classroom.ps1
Note: If all prerequisites are already installed (FFmpeg, DL Streamer, Python dependencies), you can skip setup and directly run
.\start-smart-classroom.ps1.
The setup script will:
[1] Check System Requirements
OS version, CPU, RAM, storage
Python and Node.js versions
[2] Application Dependency Check
FFmpeg (auto-install if missing)
DL Streamer (auto-download and run installer
dlstreamer-2026.1.0-win64.exe)
[3] Configure Settings
[3.1] Feature Configuration (enable/disable individual application features)
[3.2] Language & ASR Configuration (provider, model, device)
[3.3] Upload Size Limits
[3.4] OCR Configuration
[3.5] Board OCR Configuration
[3.6] Grading Configuration (enable/disable Smart Grading)
Note: Speaker diarization (identifying who is speaking) is optional and requires a one-time Hugging Face access token setup if enabled — see Speaker Diarization Setup.
Step 3: Start Smart Classroom#
After initial setup is complete, use the start script for subsequent runs or after modifying config.yaml:
.\start-smart-classroom.ps1
Optional Parameters:
-Electron- Launch the UI as an Electron desktop app instead of a browser tab (the UI dev server still runs on port 5173)-Silent- Unattended mode for CI/Ansible (skips all prompts, auto-restarts services)-NoElevate- Skip admin privilege elevation (use when already running as administrator)-NoWindowsTerminal- Use Invoke-WmiMethod instead of Windows Terminal (for remote sessions/Ansible)
# Example: Launch the UI as a desktop app
.\start-smart-classroom.ps1 -Electron
# Example: Automated deployment
.\start-smart-classroom.ps1 -Silent -NoElevate -NoWindowsTerminal
The startup script performs:
Service Detection - Checks running services
Restart Options - Restart, skip, or abort choices (auto in
-Silentmode)Proxy Configuration - Loads from
.proxy-configSequential Launch - Backend -> Content Search -> Grading (if enabled) -> Frontend
Graceful Shutdown -
Qto stop all,Eto keep running (auto-exits in-Silentmode)
Step 4: Access the Application#
Once all services are running, open your browser:
Local: http://localhost:5173
Network: http://YOUR_IP:5173
Prefer a desktop app? Start the script with
.\start-smart-classroom.ps1 -Electronto open the UI in an Electron desktop window instead of a browser tab. See Optional Parameters.
Automated Setup - Troubleshooting#
If you encounter issues during automated setup, refer to the manual steps below:
Issue |
Solution |
|---|---|
|
Run |
FFmpeg installation fails |
See Manual Step 1A |
DL Streamer download fails |
See Manual Step 1B |
Python dependencies fail |
See Manual Step 1D |
Content Search fails |
See Manual Step 4 |
Frontend fails to start |
See Manual Step 5 |
Manual Setup#
Advanced Setup Guide: Follow step-by-step instructions to set up the application.
Advanced Setup guide covers:
Step 1: Install Dependencies (FFmpeg, DL Streamer, Python, Content Search)
Step 2: Configuration (config.yaml settings, including optional Speaker Diarization Setup)
Step 3-6: Run Services & Access UI
Troubleshooting — solutions for common setup and runtime issues
Known Issues — current limitations and workarounds
Uninstall the Application — steps to cleanly remove the environment and models
Service Ports Reference#
Service |
Port |
Health Check |
|---|---|---|
Backend |
8000 |
|
Content Search |
9011 |
|
Layout Detection |
9902 |
|
Grading |
9012 |
|
Frontend |
5173 |
Note: Layout Detection and Grading services only start when
grading.enabled: trueinconfig.yaml.
Learn More#
System Requirements: Hardware, software, supported models, and weight formats.
Application Flow: End-to-end application flow.
Content Search Flow: The flow of the content search functionality.