Gestore Asta Fantacalcio è un'applicazione web client-server progettata per digitalizzare e gestire in tempo reale l'asta del Fantacalcio. Il sistema permette a un amministratore (battitore) di proporre i calciatori e alle varie squadre (fantallenatori) di acquistare i giocatori, con calcolo automatico dei crediti residui e composizione delle rose. !!Attenzione non si sostituisce alla vera asta, ma permette al superadmin e ai fantaAllenatori una gestione dell'asta ordinata. Quali sono i vataggi che propone l'utilizzo del gestore:
- Admin non ha bisogno di segnarsi i crediti di ogni squadra.
- Fantallenatore non deve perdere tempo a scrivere il nome del giocatore, dato che è l'admin che scorre il listone con un click, il fantallenatore dovrà solamente scrivere il prezzo finale, al quale ha preso il giocatore.
- Appena un fantallenatore ha vinto l'asta e inserisce il prezzo, a tutti i fantaallenatori arriva una notifica push con informazioni relative all'acquisto
- Nel caso di errori ralativi ad acquisti, admin potrà subito modificare quest'ultimo
- Crediti di tutte le squadre disponibili a tutti.
- Gestione real-time: Sincronizzazione istantanea tra amministratore e squadre tramite Socket.io.
- Pannello Amministratore: Interfaccia dedicata per il battitore per scorrere il listone, cercare giocatori specifici, modificare crediti errati o rimuovere acquisti.
- Gestione Squadre: Registrazione squadre con budget iniziale (default 1000 crediti) e controllo automatico della disponibilità economica.
- Composizione Rosa: Visualizzazione in tempo reale della propria rosa con indicazione del ruolo (P, D, C, A).
- Notifiche e Limiti: Avvisi visivi per acquisti confermati e notifiche automatiche quando si raggiunge il numero massimo di giocatori per un determinato ruolo (es. 3 Portieri, 8 Difensori, etc.).
- Persistenza Dati: Salvataggio automatico delle rose su file locali (
rose.txte file JSON per singola squadra).
Per il corretto funzionamento, è necessario che nella root del progetto sia presente un file listone.json contenente l'elenco dei calciatori (struttura attesa: array di oggetti con proprietà Id, Nome, Ruolo, Squadra).
Esegui il seguente comando per installare le dipendenze necessarie:
npm installEsegui il seguente comando per far partire il server:
node main.js- Lato Utente (Squadre): Collegarsi su [http://localhost:3000/]
- Lato Amministratore (Battitore): Collegarsi su [http://localhost:3000/admin]
- HTML/CSS: Interfaccia grafica responsiva e personalizzata.
- Vanilla JavaScript: Logica lato client per la gestione del DOM e degli eventi.
- Socket.io Client: Per la comunicazione bidirezionale in tempo reale con il server (aggiornamento giocatore corrente, notifiche acquisti. è importante che i giocatori non debbano gestire nulla se non i crediti per cui hanno acquistato il giocatore).
- Local Storage: Per mantenere la sessione della squadra attiva in caso di refresh della pagina.
- Pacchetto
express: Framework per gestire le rotte HTTP (API e servire i file statici). - Pacchetto
http: Per creare il server web. - Pacchetto
socket.io: Per gestire la comunicazione WebSocket in tempo reale. - Pacchetto
fsepath: Moduli nativi di Node.js per la lettura del listone e il salvataggio dei file delle rose.