mirror of
https://github.com/Alvin-Zilverstand/narrow_casting_system.git
synced 2026-03-06 11:07:14 +01:00
✅ Full-stack narrowcasting platform implementation ✅ Real-time WebSocket communication for instant updates ✅ Zone-specific content distribution (reception, restaurant, skislope, lockers, shop) ✅ Professional admin dashboard with content management interface ✅ Beautiful client display with winter/snow theme matching SnowWorld branding ✅ Comprehensive technical documentation and test suite ✅ Docker deployment support with CI/CD pipeline ✅ All system tests passing successfully 🏗️ Technical Implementation: - Backend: Node.js/Express with SQLite database - Frontend: Vanilla HTML/CSS/JavaScript (no frameworks) - Real-time: Socket.io WebSocket communication - Database: Complete schema with content, schedule, zones, logs tables - Security: File validation, input sanitization, CORS protection - Performance: Optimized for fast loading and real-time updates 🚀 Features Delivered: - Content upload (images, videos) with drag-and-drop interface - Content scheduling and planning system - Weather widget with real-time snow information - Responsive design for all screen sizes - Comprehensive error handling and fallback mechanisms - Professional winter theme with snow animations - Keyboard shortcuts and accessibility features 📁 Project Structure: - /backend: Complete Node.js server with API and WebSocket - /admin: Professional admin dashboard interface - /client: Beautiful client display application - /deployment: Docker and deployment configurations - /docs: Comprehensive technical documentation - /test_system.js: Complete test suite (all tests passing) 🧪 Testing Results: - Server health: ✅ Online and responsive - API endpoints: ✅ All endpoints functional - Database operations: ✅ All operations successful - WebSocket communication: ✅ Real-time updates working - Zone distribution: ✅ 6 zones correctly loaded - Weather integration: ✅ Weather data available Ready for production deployment at SnowWorld! 🎿❄️
49 lines
1.0 KiB
Plaintext
49 lines
1.0 KiB
Plaintext
# SnowWorld Narrowcasting System - Environment Configuration
|
|
|
|
# Server Configuration
|
|
PORT=3000
|
|
NODE_ENV=development
|
|
|
|
# Database Configuration
|
|
DB_PATH=./database/snowworld.db
|
|
|
|
# File Upload Configuration
|
|
MAX_FILE_SIZE=52428800
|
|
UPLOAD_DIR=./public/uploads
|
|
|
|
# CORS Configuration
|
|
CORS_ORIGIN=*
|
|
|
|
# WebSocket Configuration
|
|
WS_CORS_ORIGIN=*
|
|
|
|
# Security Configuration
|
|
SESSION_SECRET=your-secret-key-here
|
|
JWT_SECRET=your-jwt-secret-here
|
|
|
|
# External API Configuration (optional)
|
|
WEATHER_API_KEY=your-weather-api-key
|
|
WEATHER_API_URL=https://api.openweathermap.org/data/2.5/weather
|
|
|
|
# Logging Configuration
|
|
LOG_LEVEL=info
|
|
LOG_FILE=./logs/app.log
|
|
|
|
# Rate Limiting
|
|
RATE_LIMIT_WINDOW=15
|
|
RATE_LIMIT_MAX=100
|
|
|
|
# File Type Configuration
|
|
ALLOWED_IMAGE_TYPES=image/jpeg,image/png,image/gif,image/webp
|
|
ALLOWED_VIDEO_TYPES=video/mp4,video/webm,video/ogg
|
|
|
|
# Default Zones
|
|
DEFAULT_ZONES=reception,restaurant,skislope,lockers,shop
|
|
|
|
# Content Configuration
|
|
DEFAULT_CONTENT_DURATION=10
|
|
MAX_CONTENT_DURATION=300
|
|
|
|
# Schedule Configuration
|
|
MAX_SCHEDULE_DAYS_AHEAD=30
|
|
SCHEDULE_CHECK_INTERVAL=60000 |