
Desktop kviz za pub takmičenja — radi i kad padne internet
Aplikacija za vođenje kviz večeri: baza pitanja, admin panel, igra sa tajmerom i rezultati. Instalira se jednim klikom i radi bez interneta.
Kontekst
Klijent organizuje kviz večeri po kafićima i pabovima. Do tada je sve išlo na papiru i preko projektora: pitanja u dokumentu, vreme se meri telefonom, bodovi se sabiraju ručno na kraju svake runde.
Problem nije bio u tome što je naporno — nego što je nepouzdano. Bodovi se pogreše, runda se odugovlači dok se sabira, a pitanja se ponavljaju jer niko ne pamti šta je već korišćeno.
Zadatak
Tražena je aplikacija za vođenje kviza uživo, sa tri uslova koja su odredila ceo pristup:
- Mora da radi bez interneta. Wi-Fi u kafiću nije nešto na šta se računa dok pedeset ljudi čeka sledeće pitanje.
- Mora da se instalira bez tehničara. Aplikaciju pokreće voditelj kviza na svom laptopu, a on nije IT čovek.
- Baza pitanja mora da raste. Svaka nedelja donosi nova pitanja, i ona ostaju za kasnije.
Kako smo rešili
Napravili smo desktop aplikaciju sa lokalnom bazom, bez ijedne zavisnosti od mreže. Prilikom prvog pokretanja aplikacija sama kreira šemu baze — korisnici, administratori, pitanja, odgovori — pa instalacija ne traži nikakvo podešavanje osim unosa pristupnih podataka.
Aplikacija ima dva režima. Administratorski služi za unos i pregled pitanja sa ponuđenim odgovorima i označavanjem tačnog. Igra vodi takmičenje: pitanje se prikazuje, tajmer odbrojava vreme za odgovor, a tačni odgovori se broje u toku igre. Na kraju runde ekran sa rezultatom pokazuje konačan skor — bez ručnog sabiranja i bez svađe oko bodova.
Isporučeno je kao .exe za Windows i kao .jar za sve ostalo, da voditelj ne mora ništa da zna o Javi.
Tehnologije
- Java i Swing — desktop interfejs
- MySQL i JDBC — lokalna baza pitanja, sa jednom deljenom konekcijom
- TimerTask — odbrojavanje vremena po pitanju
- Automatska instalacija šeme pri prvom pokretanju
- Pakovanje u izvršni
.exei.jar
Šta to znači danas
Aplikacije koje moraju da rade kad mreže nema i danas su čest zahtev — kase, terenski unos, prijemi robe u magacinu bez signala, alati za događaje. Princip je isti kao ovde: podaci lokalno, sinhronizacija kad ima veze, i instalacija koju korisnik može sam da izvede.
Ako vam treba takav alat, radimo ga i dalje — samo u modernijem obliku nego 2016.