# Live Audience Response System Ett webbbaserat system för att samla in svar från en live-publik och visa resultaten i realtid. Systemet är byggt med Node.js, Socket.IO och SQLite, och kan köras i en Podman-container. ## Funktioner - **Live-formulär**: Deltagare kan välja mellan förutbestämda alternativ eller lägga till egna - **Flerval**: Användare kan välja flera alternativ - **Dynamiska alternativ**: Nya alternativ som läggs till av användare blir automatiskt tillgängliga för andra - **Live-resultat**: Admin-panel med realtidsuppdateringar av resultat - **QR-kod**: Genereras automatiskt för enkel delning av formuläret - **Responsiv design**: Fungerar på både desktop och mobil - **Persistent data**: SQLite-databas för säker datalagring ## Teknisk stack ### Backend - **Node.js** med Express.js - **Socket.IO** för realtidskommunikation - **SQLite** för datalagring - **QR Code generator** för QR-kodgenerering ### Frontend - **Vanilla JavaScript** med Socket.IO client - **Chart.js** för datavisualisering - **Responsiv CSS** med modern design ### Container - **Podman** (eller Docker) för containerisering - **Multi-stage build** för optimerad bildstorlek # Kör applikationen ```bash podman run -d --restart=on-failure --name aeroklubben-arbetsgrupp-live -p 7000:3000 -v ./data:/app/data:Z aeroklubben-arbetsgrupp-live ``` ## Användning ### För deltagare 1. Besök huvudsidan: `https://aeroklubben.hostux.fr` 2. Välj ett eller flera alternativ 3. Lägg till egna alternativ om önskat 4. Skicka svaret ### För administratör 1. Besök admin-panelen: `https://aeroklubben.hostux.fr/admin` 2. Visa QR-koden för deltagare 3. Följ live-resultat i realtid 4. Se statistik och diagram ## API-endpoints - `GET /` - Huvudformulär - `GET /admin` - Admin-panel - `GET /api/options` - Hämta tillgängliga alternativ - `GET /api/results` - Hämta resultat - `POST /api/submit` - Skicka svar - `GET /api/qr` - Hämta QR-kod