30 lines
489 B
Markdown
30 lines
489 B
Markdown
# 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
|
|
|
|
```bash
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Deployment
|
|
|
|
Push to main triggers GitHub Actions -> SSH to VPS -> systemd restart.
|
|
Port 3002 on VPS, Caddy reverse proxy.
|
|
|