A modern online radio station discovery platform that helps users find radio stations from around the world through AI-powered conversations.
- AI Smart Recommendations: Natural language conversations with AI to find perfect radio stations
- Streaming Responses: Real-time typing effect with streamed AI responses
- Multiple AI Providers: Support for DeepSeek (primary) and OpenAI
- Built-in Audio Player: Play/pause controls and volume adjustment
- Smart Search: Full-text search across station names, descriptions, cities, countries, genres, languages, frequencies, and tags
- Filtering: Filter by music genre and country
- Responsive Design: Optimized for both desktop and mobile devices
- React 18 + Vite
- Tailwind CSS
- React Router
- React Query
- Lucide React Icons
- FastAPI (Python)
- Uvicorn ASGI Server
- Pydantic Data Validation
- Streaming Response Support
- Python 3.12+ (recommended for best compatibility)
- Node.js (latest LTS version recommended)
- API keys for:
- DeepSeek API
- OpenAI API (optional)
git clone <repository-url>
cd mrgaUsing Python 3.12 (Recommended)
cd backend
# Create new virtual environment with Python 3.12
py -3.12 -m venv venv
# Activate virtual environment (Windows)
venv\Scripts\activate
# For macOS/Linux:
source venv/bin/activate
# Verify Python version
python --version
# Should display: Python 3.12.*
# Install dependencies
pip install -r requirements.txtAlternative: Using existing Python installation
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txtDEEPSEEK_API_KEY=your_deepseek_api_key_here
OPENAI_API_KEY=your_openai_api_key_optionalOption 1: Using the run script
# Make sure you're in the virtual environment
venv\Scripts\activate # Windows
# Start backend
python run.pyOption 2: Using uvicorn directly
# Make sure you're in the virtual environment
venv\Scripts\activate # Windows
uvicorn app.main:app --reload --port 8000Open a new terminal and navigate to the frontend directory:
cd frontend
# Install dependencies
npm install
# Start development server
npm run devmrga/
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ │ ├── ui/ # Base UI components
│ │ │ └── radio/ # Radio-specific components
│ │ ├── pages/ # Page components
│ │ ├── api/ # API client
│ │ └── lib/ # Utility functions
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── main.py # Main application file
│ │ ├── models/ # Data models
│ │ ├── services/ # Business logic
│ │ └── data/ # Data layer
└── README.mdThe application supports multiple AI providers:
- DeepSeek (Primary): Set DEEPSEEK_API_KEY in your environment variables
- OpenAI (Fallback): Set OPENAI_API_KEY for additional support
- Ensure Python 3.12+ is installed for optimal compatibility
- Keep API keys secure and never commit them to version control
- The application uses a virtual environment to manage Python dependencies
- Both frontend and backend need to be running for full functionality
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
