📄 seed_coach_data.py 2,384 bytes Wednesday 01:34 📋 Raw

"""Seed data for RTSport Coach Dashboard demo.

Preble High School (schl_001) Football athletes with realistic
injury/recovery data for the Coach Dashboard Status & Messages tabs.

Run: python seed_coach_data.py
"""

import json
import sys
import os

Paths

BUILD_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))
BACKEND_DIR = os.path.join(BUILD_DIR, "backend")

The actual data lives in rtsport_coach_api.py as inline mock data.

This file exists for documentation and future database seeding.

ATHLETE_SUMMARY = {
"school": "Preble High School",
"school_id": "schl_001",
"sport": "Football",
"total_athletes": 50,
"athletes_with_cases": [
{
"id": "ath_001",
"name": "Jake Larson",
"status": "out",
"position": "QB",
"grade": 12,
"body_part": "Ankle - Right",
},
{
"id": "ath_002",
"name": "Marcus Johnson",
"status": "out",
"position": "LB",
"grade": 11,
"body_part": "Knee - Left (ACL)",
},
{
"id": "ath_003",
"name": "Tyler Wilson",
"status": "modified",
"position": "WR",
"grade": 10,
"body_part": "Knee",
},
{
"id": "ath_004",
"name": "Derek Lee",
"status": "modified",
"position": "RB",
"grade": 11,
"body_part": "Shoulder - Left",
},
{
"id": "ath_005",
"name": "Cameron Davis",
"status": "out",
"position": "OL",
"grade": 12,
"body_part": "Hamstring - Right",
},
{
"id": "ath_006",
"name": "Ethan Brooks",
"status": "cleared",
"position": "DB",
"grade": 11,
"body_part": "Concussion",
},
],
}

if name == "main":
output_path = os.path.join(BACKEND_DIR, "seed_data.json")
with open(output_path, "w") as f:
json.dump(ATHLETE_SUMMARY, f, indent=2)
print(f"Seed data written to {output_path}")
print(f" School: {ATHLETE_SUMMARY['school']}")
print(f" Sport: {ATHLETE_SUMMARY['sport']}")
print(f" Athletes with cases: {len(ATHLETE_SUMMARY['athletes_with_cases'])}")