A professional radio traffic, scheduling, and automation system built to integrate LibreTime and AzuraCast for GayPHX Radio.
- Backend: FastAPI + Python 3.11+ with PostgreSQL
- Frontend: Vite + React + TypeScript with Material-UI
- Deployment: Docker Compose on same server as LibreTime
- Integrations: LibreTime API, AzuraCast API, LibreTalk (future)
-
Copy environment template:
cp .cursor/env.template .env
-
Configure API keys in
.env:# Edit .env with your LibreTime and AzuraCast API keys LIBRETIME_URL=https://your-libretime-url/api LIBRETIME_API_KEY=your-libretime-api-key AZURACAST_URL=https://your-azuracast-url/api AZURACAST_API_KEY=your-azuracast-api-key -
Start the system:
docker-compose up -d
-
Access the application:
- Frontend: http://localhost:3000
- API: http://localhost:8000
- API Docs: http://localhost:8000/docs
- Setup Page: http://localhost:3000/setup
-
Initial Setup:
- Go to http://localhost:3000/setup
- Create your admin user
- Verify API key configuration
- Login at http://localhost:3000/login
After running initial setup:
- Username:
admin - Password:
admin123
See docs/DEVELOPMENT.md for detailed setup instructions.
Comprehensive documentation is available in the docs/ directory:
- User Manual - Complete user guide
- Workflow Scenarios - End-to-end workflow examples
- Development Guide - Developer setup and guidelines
- Security & QA Reports - Security audit and QA test reports
- Testing Documentation - API testing guides and checklists
- Setup Guides - Integration and infrastructure setup
- Implementation Status - Implementation and fix documentation
See docs/README.md for complete documentation index.
Comprehensive API testing scripts are available:
test_all_endpoints.py- Tests all API endpoints with tokenized requeststest_complete_workflow.py- Tests complete workflow from order to billing
Quick Test:
export LIBRELOG_API_URL=http://api:8000
export TEST_USERNAME=admin
export TEST_PASSWORD=admin123
python3 test_all_endpoints.pySee the testing documentation directory for:
- API Testing Guide - Complete guide to API testing
- Manual Testing Checklist - Step-by-step manual testing instructions
- Test Results - Test execution results and reports
Test results are saved to:
api_test_results.json- Automated API test resultscomplete_workflow_test_results.json- Workflow test results
- ✅ Music library management with metadata tagging
- ✅ Clock template builder for radio scheduling
- ✅ Campaign and PSA management with ad fallback
- ✅ Daily log generation and LibreTime integration
- ✅ Voice tracking with web recorder
- ✅ Playback reconciliation and compliance reporting
- ✅ AzuraCast metadata sync
Proprietary - GayPHX Radio