--- title: GHSS Backend emoji: 🏫 colorFrom: purple colorTo: indigo sdk: docker pinned: false app_port: 7860 --- # Gifted Hands Senior School — Backend API FastAPI backend for the GHSS school management system. Runs on Hugging Face Spaces (port 7860). ## Environment Variables (HF Secrets) | Variable | Description | |---|---| | `SUPABASE_URL` | Your Supabase project URL | | `SUPABASE_SERVICE_KEY` | Supabase service role key | | `GOOGLE_SERVICE_ACCOUNT_JSON` | Google Drive service account JSON | | `SMS_API_KEY` | Africa's Talking API key | | `SMS_USERNAME` | Africa's Talking username | | `SMS_SENDER_ID` | Registered sender ID (leave blank for sandbox) | | `JWT_SECRET` | Random secret string for JWT signing | | `B2_KEY_ID` | Backblaze B2 application key ID | | `B2_APPLICATION_KEY` | Backblaze B2 application key | | `B2_BUCKET_NAME` | B2 bucket name (default: ghss-files) | | `B2_BUCKET_ID` | B2 bucket ID | | `AIRTEL_CLIENT_ID` | Airtel Money client ID | | `AIRTEL_CLIENT_SECRET` | Airtel Money client secret | | `AIRTEL_ENV` | sandbox or production | | `MTN_CLIENT_ID` | MTN MoMo client ID | | `MTN_CLIENT_SECRET` | MTN MoMo client secret | | `MTN_SUBSCRIPTION_KEY` | MTN MoMo subscription key | | `MTN_ENV` | sandbox or production | ## Default Admin Login - Login ID: `admin` - Password: `admin123` - **Change immediately after first login** ## Login ID Formats - **Teachers**: GHSS001, GHSS002 … - **Students**: GHSS0012026 (auto-generated on enrolment) - **Parents**: registered by email