# Info-Beamer Streaming Channel System A Flask-based web application for managing digital signage content with streaming channels for Info-Beamer Pi devices. ## Features - **Streaming Channels**: Organize content into channels for targeted display management - **User Authentication**: Admin and user roles with secure login system - **File Management**: Upload and manage media files (images, videos, PDFs, JSON) - **Channel Assignment**: Assign specific channels to Info-Beamer devices - **Activity Logging**: Track all user actions and system events - **Bootstrap UI**: Modern responsive interface with light/dark theme switching - **API Endpoints**: RESTful APIs for Info-Beamer device integration ## Installation 1. Clone the repository: ```bash git clone https://gitea.moto-adv.com/ske087/beamer.git cd beamer ``` 2. Create virtual environment: ```bash python3 -m venv .venv source .venv/bin/activate ``` 3. Install dependencies: ```bash pip install flask flask-sqlalchemy flask-login werkzeug ``` 4. Run the application: ```bash python server.py ``` 5. Access the web interface at `http://localhost:5000` ## Default Credentials - **Username**: admin - **Password**: admin ⚠️ **Important**: Change the default password after first login! ## API Endpoints - `/api/content` - Get all available media files - `/api/playlist` - Get default channel playlist (legacy) - `/api/channel/` - Get device-specific channel playlist ## Project Structure ``` beamer/ ├── server.py # Main Flask application ├── templates/ # HTML templates │ ├── login.html │ ├── admin.html │ ├── user.html │ ├── channels.html │ └── schedules.html ├── uploads/ # Media file storage ├── .venv/ # Virtual environment └── beamer.db # SQLite database ``` ## Usage 1. **Login** with admin credentials 2. **Upload Media Files** through the admin dashboard 3. **Create Channels** to organize content 4. **Add Content** to channels with custom durations 5. **Assign Players** to specific channels 6. **Monitor Activity** through the activity log ## Info-Beamer Integration Configure your Info-Beamer devices to fetch playlists from: - Default channel: `http://your-server:5000/api/playlist` - Device-specific: `http://your-server:5000/api/channel/DEVICE_ID` ## License This project is developed for local digital signage management.