From 6a6495a07d52e476ac0619aec006c5e9a3eb90b3 Mon Sep 17 00:00:00 2001 From: Louis Date: Mon, 18 Aug 2025 22:00:27 +0200 Subject: [PATCH] =?UTF-8?q?Menti-like=20with=20database=20after=20medlemsm?= =?UTF-8?q?=C3=B6te?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arbetsgrupp-live/Containerfile | 28 + arbetsgrupp-live/README.md | 60 ++ arbetsgrupp-live/build.sh | 34 ++ arbetsgrupp-live/data/responses.db | Bin 0 -> 4096 bytes arbetsgrupp-live/data/responses.db-shm | Bin 0 -> 32768 bytes arbetsgrupp-live/data/responses.db-wal | Bin 0 -> 420272 bytes arbetsgrupp-live/package.json | 33 ++ arbetsgrupp-live/public/admin.html | 704 ++++++++++++++++++++++++ arbetsgrupp-live/public/aeroklubben.png | Bin 0 -> 123222 bytes arbetsgrupp-live/public/index.html | 397 +++++++++++++ arbetsgrupp-live/server.js | 258 +++++++++ 11 files changed, 1514 insertions(+) create mode 100644 arbetsgrupp-live/Containerfile create mode 100644 arbetsgrupp-live/README.md create mode 100755 arbetsgrupp-live/build.sh create mode 100644 arbetsgrupp-live/data/responses.db create mode 100644 arbetsgrupp-live/data/responses.db-shm create mode 100644 arbetsgrupp-live/data/responses.db-wal create mode 100644 arbetsgrupp-live/package.json create mode 100644 arbetsgrupp-live/public/admin.html create mode 100644 arbetsgrupp-live/public/aeroklubben.png create mode 100644 arbetsgrupp-live/public/index.html create mode 100644 arbetsgrupp-live/server.js diff --git a/arbetsgrupp-live/Containerfile b/arbetsgrupp-live/Containerfile new file mode 100644 index 0000000..5a14720 --- /dev/null +++ b/arbetsgrupp-live/Containerfile @@ -0,0 +1,28 @@ +FROM node:current + +WORKDIR /app + +# Copy package files +COPY package*.json ./ + +# Install dependencies +#RUN npm ci --omit=dev +RUN npm install -g pnpm +RUN pnpm pkg set pnpm.onlyBuiltDependencies[0]=better-sqlite3 +RUN pnpm install + +# Copy application code +COPY . . + +# Create data directory for SQLite +RUN mkdir -p /app/data + +# Expose port +EXPOSE 3000 + +# Set environment variables +ENV NODE_ENV=production +ENV PORT=3000 + +# Start the application +CMD ["pnpm", "start"] \ No newline at end of file diff --git a/arbetsgrupp-live/README.md b/arbetsgrupp-live/README.md new file mode 100644 index 0000000..a9da83f --- /dev/null +++ b/arbetsgrupp-live/README.md @@ -0,0 +1,60 @@ +# 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 \ No newline at end of file diff --git a/arbetsgrupp-live/build.sh b/arbetsgrupp-live/build.sh new file mode 100755 index 0000000..9b97a85 --- /dev/null +++ b/arbetsgrupp-live/build.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# On error, exit the script +set -e + +# Build script for the Live Audience Response System + +echo "🚀 Building Live Audience Response System..." + +# Build the container image +echo "📦 Building Podman container..." +podman build -t aeroklubben-arbetsgrupp-live . + +# Create data directory on host (for persistence) +echo "📁 Creating data directory..." +mkdir -p ./data + +echo "✅ Build complete!" +echo "" +echo "To run the application:" +echo " podman run -d --restart=on-failure --name aeroklubben-arbetsgrupp-live -p 7000:3000 -v ./data:/app/data:Z aeroklubben-arbetsgrupp-live" +echo "" +echo "To view logs:" +echo " podman logs -f aeroklubben-arbetsgrupp-live" +echo "" +echo "To stop:" +echo " podman stop aeroklubben-arbetsgrupp-live" +echo "" +echo "To remove:" +echo " podman rm aeroklubben-arbetsgrupp-live" +echo "" +echo "Access URLs:" +echo " Form: https://aeroklubben.hostux.fr" +echo " Admin: https://aeroklubben.hostux.fr/admin" \ No newline at end of file diff --git a/arbetsgrupp-live/data/responses.db b/arbetsgrupp-live/data/responses.db new file mode 100644 index 0000000000000000000000000000000000000000..4b95fc958807c7957018d03deb09746df8b1b7d9 GIT binary patch literal 4096 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 + + + + + Live Resultat - Arbetsgrupper + + + + +
+

+ Vi behöver DIG! Vilken arbetsgrupp skulle du kunna tänka dig delta i? +

+

+ + + DISCONNECTED + +

+
+ +
+
+

Scanna för att svara

+ +
+

Laddar QR-kod...

+
+
+ Laddar URL... +
+ + +
+
+
0
+
Deltagare
+
+
+
+ +
+

+ Live Resultat +

+ +
+

Väntar på svar...

+
+
+
+ + + + \ No newline at end of file diff --git a/arbetsgrupp-live/public/aeroklubben.png b/arbetsgrupp-live/public/aeroklubben.png new file mode 100644 index 0000000000000000000000000000000000000000..6db8eb9e18210a7eb90506e78646d2b313d5bda1 GIT binary patch literal 123222 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 + + + + + Arbetsgrupp - Deltagarformulär + + + + +
+ +

Vi behöver DIG!

+ +
+ +
+
+

Vilken arbetsgrupp skulle du kunna tänka dig delta i?

+

Du kan välja flera alternativ

+
+ +
+ +
+ +
+ +
+ +
+ + +
+ + +
+
+ + + + \ No newline at end of file diff --git a/arbetsgrupp-live/server.js b/arbetsgrupp-live/server.js new file mode 100644 index 0000000..fea4514 --- /dev/null +++ b/arbetsgrupp-live/server.js @@ -0,0 +1,258 @@ +const express = require('express'); +const http = require('http'); +const socketIo = require('socket.io'); +const Database = require('better-sqlite3'); +const QRCode = require('qrcode'); +const path = require('path'); +const cors = require('cors'); + +const app = express(); +const server = http.createServer(app); +const io = socketIo(server, { + cors: { + origin: "*", + methods: ["GET", "POST"] + } +}); + +const PORT = process.env.PORT || 3000; + +// Middleware +app.use(cors()); +app.use(express.json()); +app.use(express.static('public')); + +// Initialize better-sqlite3 database +const db = new Database('./data/responses.db'); + +// Configure database for better performance +db.pragma('journal_mode = WAL'); +db.pragma('synchronous = NORMAL'); +db.pragma('cache_size = 1000000'); +db.pragma('temp_store = memory'); + +// Initialize database tables +try { + // Create responses table + db.exec(`CREATE TABLE IF NOT EXISTS responses ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + participant_name TEXT NOT NULL, + response TEXT NOT NULL, + timestamp DATETIME DEFAULT CURRENT_TIMESTAMP + )`); + + // Create options table for dynamic options + db.exec(`CREATE TABLE IF NOT EXISTS options ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + option_text TEXT UNIQUE NOT NULL, + is_predefined BOOLEAN DEFAULT FALSE, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP + )`); + + // Insert predefined options + const predefinedOptions = ['Landvetter', 'Backamo', 'Borås', 'Trollhättan']; + const insertOption = db.prepare("INSERT OR IGNORE INTO options (option_text, is_predefined) VALUES (?, 1)"); + + predefinedOptions.forEach(option => { + insertOption.run(option); + }); +} catch (error) { + console.error('Database initialization error:', error); +} + +// Prepared statements for better performance +const getOptionsStmt = db.prepare("SELECT option_text FROM options ORDER BY is_predefined DESC, created_at ASC"); +const getResponseCountsStmt = db.prepare(` + SELECT response, COUNT(*) as count + FROM responses + GROUP BY response + ORDER BY response ASC +`); +const getAllResponsesStmt = db.prepare(` + SELECT participant_name, response, timestamp + FROM responses + ORDER BY timestamp DESC +`); +const insertResponseStmt = db.prepare("INSERT INTO responses (participant_name, response) VALUES (?, ?)"); +const insertOptionStmt = db.prepare("INSERT OR IGNORE INTO options (option_text) VALUES (?)"); + +// Get all available options +function getOptions() { + try { + return getOptionsStmt.all().map(row => row.option_text); + } catch (error) { + console.error('Error getting options:', error); + return []; + } +} + +// Get response counts +function getResponseCounts() { + try { + return getResponseCountsStmt.all(); + } catch (error) { + console.error('Error getting response counts:', error); + return []; + } +} + +// Get all responses with participant names +function getAllResponses() { + try { + return getAllResponsesStmt.all(); + } catch (error) { + console.error('Error getting all responses:', error); + return []; + } +} + +// Routes +app.get('/', (req, res) => { + res.sendFile(path.join(__dirname, 'public', 'index.html')); +}); + +app.get('/admin', (req, res) => { + res.sendFile(path.join(__dirname, 'public', 'admin.html')); +}); + +app.get('/api/options', (req, res) => { + try { + const options = getOptions(); + res.json(options); + } catch (error) { + console.error('API error - options:', error); + res.status(500).json({ error: 'Failed to fetch options' }); + } +}); + +app.get('/api/results', (req, res) => { + try { + const results = getResponseCounts(); + res.json(results); + } catch (error) { + console.error('API error - results:', error); + res.status(500).json({ error: 'Failed to fetch results' }); + } +}); + +app.get('/api/all-responses', (req, res) => { + try { + const responses = getAllResponses(); + res.json(responses); + } catch (error) { + console.error('API error - all responses:', error); + res.status(500).json({ error: 'Failed to fetch responses' }); + } +}); + +app.post('/api/submit', (req, res) => { + const { responses, participantName } = req.body; + + if (!responses || !Array.isArray(responses) || responses.length === 0) { + return res.status(400).json({ error: 'Invalid responses' }); + } + + if (!participantName || typeof participantName !== 'string' || participantName.trim().length === 0) { + return res.status(400).json({ error: 'Participant name is required' }); + } + + const trimmedName = participantName.trim(); + + try { + // Use a transaction for better performance and data integrity + const insertTransaction = db.transaction((responses, participantName) => { + // Insert all responses + responses.forEach(response => { + insertResponseStmt.run(participantName, response); + // Add new custom options to options table + insertOptionStmt.run(response); + }); + }); + + insertTransaction(responses, trimmedName); + + // Emit updated data to all clients + const options = getOptions(); + io.emit('optionsUpdated', options); + + const results = getResponseCounts(); + io.emit('resultsUpdated', results); + + const allResponses = getAllResponses(); + io.emit('allResponsesUpdated', allResponses); + + res.json({ success: true }); + } catch (error) { + console.error('Error submitting response:', error); + res.status(500).json({ error: 'Failed to submit response' }); + } +}); + +app.get('/api/qr', async (req, res) => { + try { + const url = `https://aeroklubben.hostux.fr`; + const qrCode = await QRCode.toDataURL(url); + res.json({ qrCode }); + } catch (err) { + res.status(500).json({ error: 'Failed to generate QR code' }); + } +}); + +// Socket.IO connection handling +io.on('connection', (socket) => { + console.log('Client connected'); + + try { + // Send current options and results to new client + const options = getOptions(); + socket.emit('optionsUpdated', options); + + const results = getResponseCounts(); + socket.emit('resultsUpdated', results); + + const allResponses = getAllResponses(); + socket.emit('allResponsesUpdated', allResponses); + } catch (error) { + console.error('Error sending initial data to client:', error); + } + + socket.on('disconnect', () => { + console.log('Client disconnected'); + }); +}); + +// Start server +server.listen(PORT, () => { + console.log(`Server running on port ${PORT}`); + console.log(`Form: https://aeroklubben.hostux.fr`); + console.log(`Admin: https://aeroklubben.hostux.fr/admin`); +}); + +// Graceful shutdown +process.on('SIGINT', () => { + console.log('Shutting down gracefully...'); + try { + db.close(); + console.log('Database connection closed.'); + } catch (error) { + console.error('Error closing database:', error); + } + server.close(() => { + console.log('Server closed.'); + process.exit(0); + }); +}); + +process.on('SIGTERM', () => { + console.log('Received SIGTERM, shutting down gracefully...'); + try { + db.close(); + console.log('Database connection closed.'); + } catch (error) { + console.error('Error closing database:', error); + } + server.close(() => { + console.log('Server closed.'); + process.exit(0); + }); +}); \ No newline at end of file