Overview
MVHS Nexus is a student-built web platform for a high school, providing class schedules, per-class workspaces, direct and group messaging, and read-only syncing with the school’s Canvas LMS. Students in the same class share one workspace regardless of which period or section they’re in.
Features
- OCR-based schedule scanning with a human review step before saving to the database
- Class workspaces grouped by subject and teacher, combining every section into one shared space
- Real-time class chat, direct messages, and user-created group chats
- Read-only Canvas LMS sync — announcements, assignments, and modules — via a per-student API token
- Crowdsourced assignment entries to cover classes where teachers don’t use Canvas
- Real-time “who’s studying” status toggles
- Drag-and-drop, resizable dashboard widgets with per-tab customization
- Shared resource vault, boards, and calendar per class
- Installable as a progressive web app with offline support
How it works
The app is a monorepo pairing a Next.js frontend, which talks directly to Supabase for auth, database access, and realtime updates, with a FastAPI service that handles two background jobs: OCR-based schedule parsing (Tesseract plus fuzzy matching against a master course list) and polling the Canvas REST API on each student’s behalf. Supabase Realtime drives live chat, DMs, and status updates without a separate WebSocket server, and Postgres row-level security policies enforce per-role permissions at the database layer.