Getting Started
Welcome to the RokuChannel Platform Admin Guide. This documentation covers everything you need to manage educational streaming channels, content, and student engagement.
Platform Overview
The RokuChannel Platform is an educational multimedia streaming system for Roku devices. It combines video delivery, homework assignments, tests, grade tracking, and AI-powered innovation agents into a single unified platform.
Figure 1: RokuChannel Platform Architecture Overview
Key Features
Channel Management
Create and manage educational streaming channels with customizable themes, categories, and publishing controls.
Content Hierarchy
Organize content into Channels, Series, and Episodes. Each episode can have video, homework, and test content.
Assessments
Build homework assignments and auto-graded tests with multiple choice, true/false, and short answer questions.
Grade Tracking
Track student progress across video completion, homework scores, and test results with automatic grade calculation.
Innovation Agents
AI-powered content and engagement analysis agents that provide actionable suggestions for platform improvement.
Roku Feed
Auto-generated JSON content feeds compatible with Roku Direct Publisher for seamless device distribution.
Prerequisites
Before using the Admin Portal, ensure the following services are running:
- Backend API -- FastAPI server running on port 8065
- PostgreSQL -- Database server on port 9433 with rokuchannel database
- Redis -- Cache server on localhost:6379 (optional, falls back to in-memory)
- ONETIMELOGIN SSO -- Authentication service on port 8001
- COLLECTIONS API -- Content hierarchy service on port 8050
- Web Browser -- Modern browser (Chrome, Firefox, Edge)
Quick Start
Follow these steps to get up and running with the platform:
-
Start the Backend
Navigate to the backend directory and launch the server.
bashcd C:\PROJECTS\ROKU\backend python -m uvicorn app.main:app --host 0.0.0.0 --port 8065 --reload -
Verify the Health Check
Confirm the API is running by checking the health endpoint.
bashcurl http://localhost:8065/health -
Log In via SSO
Open http://localhost:8065 in your browser. You will be redirected to ONETIMELOGIN SSO for authentication. After logging in, you receive a JWT token stored as a cookie.
-
Create Your First Channel
From the Dashboard, navigate to Channels and click Create Channel. Give it a name, select a category, and save.
-
Add Series and Episodes
Click into your new channel, add a series, then add episodes to the series. Each episode can hold a video, homework, and a test.
-
Publish
When your channel is ready, toggle the Published status. A public Roku JSON feed is auto-generated at /api/roku/feed/{channel_id}.
Technology Stack
| Component | Technology | Details |
|---|---|---|
| Backend | FastAPI (Python) | Sync SQLAlchemy, Pydantic v2 |
| Database | PostgreSQL | Port 9433, schema: roku, 11 tables |
| Cache | Redis | Port 6379/10, TTL-based caching |
| Auth | JWT + SSO | HS256, shared secret with ONETIMELOGIN |
| Frontend | Tailwind CSS + Vanilla JS | No framework dependency |
| LLM | Claude / OpenAI / Ollama | Pluggable provider for Innovation Agents |
| CDN | Bunny.net | Video streaming delivery (planned) |
What's Next
Now that you have an overview of the platform, explore the following sections:
- Admin Dashboard -- Understand the dashboard layout and quick actions
- Managing Channels -- Create and configure your first channel
- Videos, Homework & Tests -- Add educational content to episodes
- API Reference -- Integrate with the backend API directly