Skip to content

bseverns/classhub

Class Hub

test-suite security docs License: MIT

Class Hub is classroom-first, self-hosted learning infrastructure built for reliable operations, inspectable behavior, and privacy-forward defaults.

Front-door map

Use these four docs as the canonical entrypoints, each with one job:

What it is

  • Cohort-based learning container.
  • Organization-scoped access boundaries.
  • Invite-only enrollment with seat controls.
  • Outcome tracking and export.
  • Certificate eligibility and issuance.

What it is not

  • Not a marketing website.
  • Not a payment processor.
  • Not a CRM.
  • Not a behavioral analytics system.
  • Not a surveillance-based LMS.

Architecture at a glance

  • Class Hub (Django): student join/session flows, class views, /teach, /admin.
  • Homework Helper (Django): separate tutor service under /helper/*.
  • Caddy: reverse proxy and TLS termination.
  • Postgres: primary data store.
  • Redis: cache/rate-limit/queue state.
  • MinIO: optional backup/ops component.

Detailed architecture: docs/ARCHITECTURE.md

flowchart LR
  You["Browser or operator terminal"]
  Edge["Caddy edge"]
  Hub["Class Hub app"]
  Helper["Homework Helper app (/helper/*)"]
  Data["Postgres + Redis + uploads"]
  Model["Ollama local or OpenAI optional"]

  You --> Edge
  Edge --> Hub
  Edge --> Helper
  Hub --> Data
  Helper --> Data
  Helper --> Model
Loading

Quickstart (local)

cp compose/.env.example.local compose/.env
cd compose
docker compose --profile local-ollama up -d --build
cd ..
bash scripts/load_demo_coursepack.sh

Then open:

  • Student join: http://localhost/
  • Teacher login: http://localhost/teach/login (or http://localhost/admin/login/ for admin console access)

Production posture (important)

  • Domain/TLS deployments should start from compose/.env.example.domain.
  • Production default is strict org boundary: REQUIRE_ORG_MEMBERSHIP_FOR_STAFF=1.
  • Local/dev and migration scenarios may temporarily use REQUIRE_ORG_MEMBERSHIP_FOR_STAFF=0.

Next docs

Repository links