Jury-Voting: typescript 5.9->7.0, vitest 3->4, jsdom 26->29, concurrently 9->10 Projekt-KIQ-HP: eslint 9->10, @eslint/js 9->10 privat/CV: typescript 5.9->7.0, vitest 3->4 andreknie.de: js-yaml stays at 4 (v5 breaks ESM default export, needs code change)
Jury-Voting
Real-time jury voting application for the UNIKAT Ideenwettbewerb.
Stack
- Frontend: React 19 + Vite
- Backend: Express.js
- Persistence: JSON file-based
- Real-time: Server-Sent Events (SSE)
URLs
- Production: https://unikat.andreknie.de
- Admin: /admin
- Results/Beamer: /results
Development
npm install
npm run dev
Deployment
Push to main triggers GitHub Actions -> SSH to VPS -> systemd restart. Port 3002 on VPS, Caddy reverse proxy.