Interactive database visual + downloadable seed SQL (MSLA Girls / girls lacrosse scheduling)
Tip: use the seed SQL to bootstrap a fresh Postgres database with reference data (schools, conferences, rules, etc.).
The SLAMA Tools Scheduler is a comprehensive sports scheduling and management system with 6 major functional areas working together using a shared database of 60+ tables.
Core entities used across all functions:
Primary business data:
Used during schedule generation:
Scheduling rules and restrictions:
Imported data before processing:
Notebook UI (navbar): task checklist, notes, tags, and archives (public schema):
Primary Route: app/routers/dashboard.py
Provides high-level statistics, shows active announcements, and serves as the entry point to other functions.
| Table | Role | Access |
|---|---|---|
tblschool |
Count total schools | Read |
tblschoolsportconference |
Count total teams | Read |
tblschedule |
Count scheduled games | Read |
tblannouncement |
Display system announcements | Read |
Primary Routes:
app/routers/schools.py - School CRUD operationsapp/routers/teams.py - Team managementapp/routers/conferences.py - Conference managementPrimary Routes:
app/routers/scheduling.py - Conflict import and managementapp/routers/scheduler.py - Schedule generation wizardapp/routers/lax_conflicts.py - Girls lacrosse conflict intake & importAthletic directors submit conflict data via CSV. Data is staged in ref_intake_conflicts and then processed into tblfieldconflict and tblschoolconflict tables.
System generates all possible game dates in tblpossiblegamedate, respecting constraints from tblfirstgamedate.
Algorithm creates team matchups based on conference requirements, rivalries, and ranking-based pairings. Stored in tblscheduledate without dates assigned.
Engine assigns dates to matchups while avoiding all conflicts. Working data in tblschedulebuild.
Optimizes home and away game distribution for each team. Final schedule written to tblschedule.
Snapshots of schedules saved in tblscheduleversion for rollback capability.
AI-powered issue detection logs problems in tblscheduleissue with suggested resolutions.
Primary Route: app/routers/rankings.py
Calculates preseason team rankings using a multi-component algorithm based on historical performance, player experience, and tournament results.
Primary Route: app/routers/reports.py
Generates analytical reports and data exports for schedules, rankings, statistics, and historical data.
Primary Routes:
app/routers/scheduling.py - Conflict CSV import & mergeapp/routers/lax_conflicts.py - Varsity/JV conflict formapp/routers/feedback.py - Coach notes, score reportingapp/routers/cteam.py - C-Team scheduling intakeapp/routers/progress_notebook.py - Scheduling progress notebookImport Forms - Bulk data uploads from CSV files
Data Entry - Manual entry for stats, awards, and special requirements
Configuration - System settings and algorithm parameters
System - Administrative tools and facility management
This matrix shows how each database table is used across the six major application functions.
| Table Name | Dashboard | School Info | Scheduling | Rankings | Reports | Forms |
|---|---|---|---|---|---|---|
| CORE ENTITIES | ||||||
tblschool | ✓ | ✓✓ | ✓ | ✓ | ✓ | |
tblschoolalias | ✓ | |||||
tblschoolsportconference | ✓ | ✓✓ | ✓ | ✓ | ||
tblsport | ✓ | ✓ | ✓ | ✓ | ||
tblgender | ✓ | ✓ | ✓ | ✓ | ||
tblseason | ✓ | ✓ | ✓ | ✓ | ||
tblconference | ✓ | ✓ | ✓ | |||
tbllevel | ✓ | |||||
| SCHEDULING | ||||||
tblschedule | ✓ | ✓ | ✓✓ | ✓ | ✓✓ | |
tblpossiblegamedate | ✓✓ | |||||
tblscheduledate | ✓✓ | |||||
tblschedulebuild | ✓✓ | |||||
tblmatrix | ✓ | |||||
tblgamelist | ✓ | |||||
| CONFLICTS | ||||||
tblfieldconflict | ✓✓ | ✓ | ||||
tblschoolconflict | ✓✓ | ✓ | ||||
tblfirstgamedate | ✓ | |||||
ref_intake_conflicts | ✓✓ | ✓✓ | ||||
ref_import_history | ✓ | ✓ | ||||
2025_lax_info_conflicts | ✓ | ✓ | ||||
2026_lax_info_conflicts | ✓ | ✓ | ||||
| RANKINGS | ||||||
tblteamrank | ✓ | ✓ | ✓✓ | ✓✓ | ||
tblpreseasonconfig | ✓✓ | ✓ | ||||
tblrankingjob | ✓✓ | |||||
| PLAYERS | ||||||
tblroster | ✓ | ✓ | ✓✓ | |||
tblplayerstats | ✓ | ✓ | ✓✓ | ✓✓ | ||
tblgoaliestats | ✓ | ✓ | ✓✓ | |||
tblawards | ✓ | ✓ | ✓✓ | |||
| PERFORMANCE | ||||||
tblteamperformancerating | ✓ | ✓ | ||||
tbltournamentstanding | ✓ | |||||
| CONFIGURATION | ||||||
tblrivalry | ✓ | ✓ | ||||
tblschedulingrule | ✓ | ✓ | ||||
tblschoolexclusion | ✓ | |||||
tblscheduleissue | ✓ | |||||
| VERSIONS | ||||||
tblscheduleversion | ✓ | |||||
tblscheduleversiongames | ✓ | |||||
| ASSETS | ||||||
tblasset | ✓ | |||||
tblassetreservation | ✓ | |||||
| SYSTEM | ||||||
tblannouncement | ✓ | ✓ | ||||
tblbugreport | ✓ | |||||
| ARCHIVE | ||||||
archive.tblhistoricalteamrank | ✓ | |||||
archive.tblhistoricalplayerpoints | ✓ | ✓ | ||||
| REFERENCE | ||||||
ref_max_lacrosse_schedule | ✓ | |||||
ref_lax_g_schedule_history | ✓ | |||||