Teacher & Leadership Tools

CHARLOTTE Timetable Scheduler: Operations, Rosters & Server Boundaries

A complete technical and operational guide for school timetablers, relief coordinators, and IT leaders. Explore scheduling matrices, aide allocation, emergency relief management, real-time conflict checking, and the crucial differences between the public online demo, the school VPS server, and offline localhost.

Dedicated VPS Application FastAPI + SQL Stack Launch CHARLOTTE on VPS ↗

At a Glance

Primary Modules Timetable, Aides, Relief Pool, Task Bank
Conflict Detection Real-time aide, room & staff overlap checks
Live Application URL charlotte.mrsutherland.net
Production Architecture Dedicated VPS with FastAPI & SQL Database
Data Privacy Policy Synthetic data on demo; real data on VPS
Backup & Export SQL dumps, JSON payloads, PDF & Cal exports

Inside CHARLOTTE: Core Operational Modules

Unlike lightweight daily planners, CHARLOTTE is a full-featured timetable coordination and resource optimization platform built to resolve the complex operational realities of modern schools. It handles four interdependent scheduling domains simultaneously:

Module 1

Weekly Timetable Matrix

Coordinates school periods across all year levels, teaching blocks, and specialist subject areas. Supports recurring series allocations, classroom room bookings, and class regrouping across standard school weeks.

  • Period grids with custom bell times
  • Classroom collision avoidance
  • Recurring assignment series management
Module 2

Teacher Aide Allocation

Manages specialised educational support staff across multiple classrooms. Maps aide availability windows, funding requirements, individual student support blocks, and recurring support timetables.

  • Aide availability & contracted hour matrices
  • Classroom-specific support assignments
  • Individual student assistance duty blocks
Module 3

Relief & Absence Pool

The emergency control centre for daily relief coordinators. Logs sudden staff absences, computes unfilled coverage gaps, and presents qualified internal relief staff or external supply teachers for rapid 1-click reassignment.

  • Unassigned period counter & relief pool queue
  • 1-click dismissal or reassignment workflow
  • Absence tracking with daily view calendar
Module 4

Task Bank & Conflict Engine

Maintains reusable duties (yard supervision, bus duty, assembly supervision, exams) in a centralised task bank. As allocations are made, the background validation engine continuously detects double-bookings.

  • Quick-create task templates & duties
  • Real-time room & teacher collision warnings
  • Detailed assignment tooltip diagnostics

Where Data Lives: The Three Deployment Boundaries

Because school timetables, relief records, and staff schedules contain sensitive workplace information, CHARLOTTE is engineered to support distinct operational models. Review this system map to understand exactly where data travels:

CHARLOTTE System Architecture & Data Boundaries

Interactive Map Controls: Switch between "All 3 Operating Environments", "School Private VPS Environment", and "Public Online Demo Boundary" using the view selector in the diagram header.

Comparing the Three Environments

Use this reference table to evaluate each deployment tier against your school's data governance, security, and administrative needs:

Operational Factor 1. Public Online Demo 2. School Private VPS (Production) 3. Standalone Localhost
Primary Purpose Public feature exploration & interface preview Daily school timetable management, live relief & staff rotas Offline emergency editing or isolated timetabler machine
Backend Host External cloud service (threft.pythonanywhere.com) Dedicated Virtual Private Server (VPS) on school/department cloud Local computer loopback (127.0.0.1:5000)
Allowed Data Synthetic / Fictional Only Real Staff, Classes & Students Real Data (Stored Locally)
Network Access Open to the public internet Restricted to school network, staff SSO, or VPN Completely offline (zero external traffic)
Multi-User Collaboration Shared preview (any visitor may overwrite) Synchronised across administration staff simultaneously Single user on a single computer
Database Storage Ephemeral demonstration store Encrypted production SQL database on VPS disk Local SQL file on internal hard drive
Automated Backups Periodic demo database resets Automated nightly snapshots & /api/backup dumps Manual export via browser download

The School Private VPS Server Deployment

For live production use across a school campus, CHARLOTTE is deployed onto a dedicated Linux VPS (Virtual Private Server). This private server architecture offers significant advantages for school operations:

Why Deploy on a Local VPS?

  • Confidentiality Guaranteed: No staffing rosters, relief notes, or teacher allocations ever leave your private server instance.
  • Simultaneous Multi-Staff Access: The timetabler, deputy principal, and relief coordinator can access the same live timetable simultaneously from different offices.
  • Zero Client Installation: Staff access CHARLOTTE via modern web browsers on school laptops or desktop workstations without installing custom desktop software.
  • Automated Disaster Recovery: The VPS executes scheduled SQL database dumps, allowing rapid point-in-time recovery if errors occur during timetable reorganisations.

Standard VPS Service Architecture

On the school VPS server, CHARLOTTE runs as an enterprise-grade service stack:

  1. Reverse Proxy (Nginx / Caddy): Handles incoming HTTPS requests, terminates TLS certificates, enforces school network IP whitelisting or VPN access, and compresses static frontend bundles.
  2. Application Server (Uvicorn / FastAPI): The Python backend process listening on internal port 5000 or Unix socket, serving REST endpoints for timetable matrices, aide schedules, and conflict verification.
  3. SQL Database (PostgreSQL / SQLite): Stores tables for aides, assignments, classrooms, relief pools, absences, and recurring duty series with foreign-key constraints.
  4. Backup Daemon (Cron / Systemd): Triggers automated database snapshots via POST /api/backup/create, archiving timestamped .sql files to secure encrypted backup volumes.

Data Exports, Backups & Disaster Recovery

CHARLOTTE includes a comprehensive data management suite accessible via the administration settings and API. It provides three levels of export depending on your operational goal:

1. Complete SQL Database Archive

Creates a full byte-for-byte relational database snapshot via /api/backup/create. Essential before major term rollovers, staffing restructures, or software updates. Can be restored directly on any compatible VPS or localhost instance.

Full System Recovery

2. Calendar & Staff Timetable Exports

Exports printable schedules via GET /api/calendar/export-pdf and standard calendar feeds via GET /api/calendar/export. Perfect for issuing individual paper rosters to aides or syncing duty periods into Microsoft Outlook or Google Calendar.

Staff Distribution

3. Batch JSON Ingestion & Payloads

Provides batch onboarding endpoints (POST /aides/batch, POST /classrooms/batch, POST /assignments/batch) allowing administrators to import entire school year rosters from student management systems (SMS / MIS) via structured spreadsheets or JSON files.

SIS / SMS Integration

Accessing CHARLOTTE in Production

Dedicated Production Subdomain

For live school timetable management and aide scheduling, always use the dedicated production instance at https://charlotte.mrsutherland.net.

The dedicated subdomain hosts both the optimized frontend and the private FastAPI backend together under the same origin, eliminating cross-origin browser security (CORS) blocks and ensuring full real-time access to classrooms, teacher aides, relief pools, and automated database backups.