A desktop application for streaming South African TV channels including free-to-air and DStv channels
# SA TV App - South African Television Streaming
🇿🇦 A desktop application for streaming South African TV channels including free-to-air and DStv channels.
## Features
✨ **Live Streaming**
- Stream free-to-air channels (SABC 1, SABC 2, SABC 3, eTV)
- Stream DStv channels (Premium, Compact, Sports, News)
- HLS/MPEG-TS streaming support
- High-quality video playback
📺 **Channel Management**
- Browse all available channels
- Organized by category (Free-to-Air, DStv, Premium, Sports, News)
- Channel information and logos
- Search and filter functionality
📅 **Electronic Program Guide (EPG)**
- View current and upcoming programs
- Program descriptions and schedules
- Real-time program information
🎨 **Modern UI**
- Clean, intuitive interface
- Dark theme optimized for TV viewing
- Responsive design
- Fast channel switching
## Tech Stack
- **Frontend**: React 18.2.0
- **Desktop Framework**: Electron 27.0.0
- **Video Player**: HLS.js 1.4.12
- **Styling**: CSS3 with custom themes
- **Build Tool**: Electron Builder
## Installation
### Prerequisites
- Node.js (v14 or higher)
- npm or yarn
### Steps
1. Clone the repository:
```bash
git clone
github.com
cd sa-tv-app
```
2. Install dependencies:
```bash
npm install
```
3. Start development server:
```bash
npm run dev
```
The app will open automatically with the Electron window.
## Development
### Available Scripts
- `npm run dev` - Start development mode with hot reload
- `npm start` - Start Electron app
- `npm run react-start` - Start React development server
- `npm run react-build` - Build React app for production
- `npm run electron-build` - Build Electron application
- `npm run build` - Build production bundle
## Project Structure
```
sa-tv-app/
├── public/
│ └── index.html # HTML template
├── src/
│ ├── components/
│ │ ├── ChannelList.js # Channel sidebar component
│ │ ├── VideoPlayer.js # Video player with HLS support
│ │ └── …