Informatii generale
- Categorie: Utilitar
- Judetul: București
- Surse: GitHub - tudorawp/Skicket: Interesting project with the porpouse of having NFC wallets for Ski DOmains in Romania. Data base included, local port included and webapp dashboard that runs LOCALLY no need to have internet. my ig @tdr_ict · GitHub
Descriere
Skicket 2.0 este o platformă completă de management și validare digitală a skipass-urilor,
gândită pentru stațiunile de schi din România. Aplicația Android le permite schiorilor
să cumpere bilete direct de pe telefon, să le stocheze și să le valideze prin NFC la
poartele de acces — fără coadă la casă, fără bilet fizic. Operatorii de domeniu
administrează întreaga rețea (kiosk-uri, bilete, anunțuri, statistici) printr-un
dashboard web în timp real. Sistemul funcționează offline și se sincronizează automat
cu cloud-ul la reconectare.
Tehnologii
Arhitectură multi-componentă, Package-by-Feature:
-
Aplicație Android (Kotlin, Jetpack Compose, min SDK 24):
- Autentificare Firebase (email, Google Credential Manager, SMS OTP)
- Cumpărare bilete cu coș, checkout prin Cloud Functions
- Validare NFC prin HCE (Host Card Emulation) — telefonul emulează un card fizic
- Mod Kiosk (Lock Task Mode, NFC ReaderCallback) pentru dispozitive fixe
- Stocare offline: Room Database v2 + EncryptedSharedPreferences
- Sincronizare background: WorkManager (HeartbeatWorker, ScanLogSyncWorker)
- Anti-fraud: Anti-Passback 5 min + auto-ban la 3 scanări REJECTED consecutive
-
Dashboard Admin Web (Next.js 14, TypeScript, Tailwind CSS):
- Live Feed real-time (Firestore onSnapshot), grafice săptămânale (Recharts)
- RBAC cu JWT custom claims: super_admin / domain_admin / operator / kiosk
- Generare tokene de enrollment single-use, management flotă kiosk
-
Edge Server Local (Node.js 22, Express, TCP):
- Validare NFC în rețea LAN cu latență < 50ms (fallback la Firebase Cloud)
- Protocol binar TCP 32 bytes, anti-fraud partajat, rate limiting
- Pornire automată cu adb reverse tunnel pentru demo
Backend: Firebase (Firestore, Auth, Cloud Functions, Crashlytics, Secret Manager)
Securitate: HMAC NFC server-side, Security Gate pre-commit, zero-trust provisioning
CI/CD: GitHub Actions (Android JDK 21, Next.js build, syntax check Functions)
Cerinte sistem
Aplicație Android:
- Android 7.0 sau mai nou (API 24+)
- NFC activat pe dispozitiv (pentru validare HCE)
- Conexiune internet pentru autentificare și sincronizare (funcționează și offline)
Kiosk fizic:
- Android 7.0+, NFC hardware suportat
- Recomandat: Samsung Galaxy sau echivalent cu NFC robust
Dashboard Web (Admin):
- Orice browser modern (Chrome, Firefox, Edge, Safari)
- Nu necesită instalare
Edge Server (opțional, pentru validare LAN):
- Node.js 22+, Windows / Linux / macOS
- Recomandat: Raspberry Pi 4 sau PC industrial pentru deployment permanent
Realizatori
Tudor Iacata
- Scoala: Colegiul National Scoala Centrala Bucuresti
- Clasa: 11
- Judet: București
- Oras: Bucuresti
Alexandru Osip
- Scoala: Colegiul National Scoala Centrala Bucuresti
- Clasa: 11
- Judet: București
- Oras: Bucuresti
Screenshots


