mohamedhekal/classbridge

Unified Laravel classroom abstraction for live sessions, participants, permissions, and recordings

Maintainers

Package info

github.com/mohamedhekal/classbridge

pkg:composer/mohamedhekal/classbridge

Transparency log

Statistics

Installs: 11

Dependents: 2

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.1 2026-07-16 17:15 UTC

This package is auto-updated.

Last update: 2026-07-16 17:21:56 UTC


README

CI Packagist License: MIT PHP Laravel

White-label live classroom orchestration for Laravel: sessions, waiting rooms, moderation, attendance, polls, breakouts, whiteboards, recordings, and provider abstraction.

Embeddable live classrooms for Laravel and modern education platforms — video meetings, teacher controls, whiteboards, attendance, recordings, polls, breakout rooms, and provider-based WebRTC integrations.

ClassBridge — white-label live classroom infrastructure

Installation

composer require mohamedhekal/classbridge
php artisan vendor:publish --tag=classbridge-config
php artisan vendor:publish --tag=classbridge-migrations
php artisan migrate

LiveKit provider

composer require mohamedhekal/classbridge-livekit

Configure in .env:

CLASSBRIDGE_DRIVER=livekit
LIVEKIT_URL=wss://your-livekit-host
LIVEKIT_API_KEY=...
LIVEKIT_API_SECRET=...

Frontend packages (optional)

Package Purpose
@classbridge/sdk TypeScript client for session events
@classbridge/whiteboard Yjs collaborative whiteboard
classbridge-vue Vue 3 classroom UI
classbridge-web-components Framework-agnostic <classbridge-room>

Architecture

flowchart TB
    subgraph Host["Laravel host app"]
        API["REST API / Filament"]
        CB["ClassBridgeManager"]
        SVC["Services: Session, Poll, Breakout, Whiteboard, Analytics"]
        DB[(MySQL / SQLite)]
    end

    subgraph Providers["Classroom providers"]
        Fake["Fake driver (tests)"]
        LK["LiveKit driver"]
    end

    subgraph Clients["Clients"]
        Vue["classbridge-vue"]
        WC["classbridge-web-components"]
        WB["@classbridge/whiteboard"]
    end

    API --> CB
    CB --> SVC
    SVC --> DB
    CB --> Fake
    CB --> LK
    Vue --> API
    WC --> API
    WB --> API
    LK -. webhooks .-> API
Loading

Quick start

use Hekal\ClassBridge\DTOs\CreateSessionData;
use Hekal\ClassBridge\Facades\ClassBridge;

$session = ClassBridge::forTenant('org-1')->session()->create(new CreateSessionData(
    title: 'Intro to Algebra',
    tenantId: 'org-1',
    teacherDisplayName: 'Ms. Smith',
    startsAt: now()->addHour(),
));

ClassBridge::session()->schedule($session, now()->addHour());
ClassBridge::session()->openWaiting($session);
ClassBridge::session()->start($session);

$poll = ClassBridge::polls()->createPoll($session, 'Ready to begin?', ['Yes', 'Not yet']);
ClassBridge::polls()->start($poll);

ClassBridge::session()->end($session);

Default driver is fake (in-memory). Register LiveKit or custom drivers via ClassBridge::extend().

Features

  • Session lifecycle state machine (draft → scheduled → waiting → live → ended)
  • Waiting room admit/reject flows
  • Signed one-time join tokens
  • Role-based moderation (mute, remove, lock, promote)
  • Attendance rules and finalization
  • Polls, Q&A, breakout rooms, collaborative whiteboards
  • Session analytics summary
  • Recording start/stop/publish via provider contract
  • Multi-tenant session scoping
  • Optional REST API under api/classbridge
  • Optional iframe embed mode (CLASSBRIDGE_EMBED=true)
  • Optional Filament admin stub (when Filament is installed)

Documentation

Testing

composer test
composer analyse
composer format

License

MIT © Mohamed Hekal

Product Vision

ClassBridge brings live teaching, collaboration, engagement, and replay into any education platform—without giving up its brand or learner experience.

ClassBridge embedded live classroom platform ClassBridge all-in-one virtual classroom

ClassBridge polls, quizzes, reactions, and engagement insights ClassBridge teacher moderation and classroom controls

ClassBridge collaborative teaching whiteboard ClassBridge collaborative breakout rooms

ClassBridge synchronized session recording and replay ClassBridge white-label live learning infrastructure