O projekte
WIGO (What Is Going On) je interaktívna webová aplikácia s mapou sveta, kde užívatelia zdieľajú krátke správy v reálnom čase z ich lokality. Správy sa zobrazujú okamžite na mape, môžu byť anonymné alebo podpísané, a po 2 minútach automaticky miznú. Vzniká tak živá globálna konverzácia – zistite, čo sa deje okolo vás alebo na druhej strane planéty.
Kľúčové funkcie
- Interaktívna mapa – zoom, pan, rotácia cez MapLibre GL
- Real-time správy – WebSocket/Socket.IO pre okamžité zobrazenie
- Anonymita – možnosť posielať správy anonymne alebo podpísane
- Auto-expirácia – správy miznú po 2 minútach
- Rotácia správ – viac správ z rovnakej lokality sa striedajú každých 10 s
- Rate limiting – max 1 správa / 10 sekúnd na IP
- Responsive dizajn – mobil aj desktop
Architektúra
Frontend beží na Next.js 14 s TypeScript a Tailwind CSS. Mapové komponenty využívajú MapLibre GL. Backend je postavený na Node.js a Express so Socket.IO pre real-time komunikáciu. Správy sa dočasne ukladajú do Redis. Celá aplikácia je kontajnerizovaná cez Docker a Docker Compose.
Bezpečnosť a deployment
Implementovaný rate limiting, input sanitization (ochrana pred XSS), CORS a Helmet security headers. Frontend je deployovaný na Vercel, backend na Railway/Fly.io, Redis cez Redis Cloud alebo Upstash.
Kód na GitHub →