Initial commit: Info-Beamer Streaming Channel System
- Complete Flask web application for digital signage management - Streaming channels for organized content delivery - User authentication with admin/user roles - Bootstrap UI with light/dark theme support - File upload and management system - Activity logging and monitoring - API endpoints for Info-Beamer device integration - Database models for channels, content, users, and activity logs
This commit is contained in:
87
README.md
Normal file
87
README.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 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/<device_id>` - 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.
|
||||
Reference in New Issue
Block a user