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.
At a Glance
charlotte.mrsutherland.net ↗
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:
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
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
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
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
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:
- Reverse Proxy (Nginx / Caddy): Handles incoming HTTPS requests, terminates TLS certificates, enforces school network IP whitelisting or VPN access, and compresses static frontend bundles.
- Application Server (Uvicorn / FastAPI): The Python backend process listening on internal port
5000or Unix socket, serving REST endpoints for timetable matrices, aide schedules, and conflict verification. - SQL Database (PostgreSQL / SQLite): Stores tables for aides, assignments, classrooms, relief pools, absences, and recurring duty series with foreign-key constraints.
- Backup Daemon (Cron / Systemd): Triggers automated database snapshots via
POST /api/backup/create, archiving timestamped.sqlfiles 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.
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.
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.
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.