Sfida un compagno in uno scontro statistico in tempo reale: confronta medie, radar delle materie e punti di forza nel pieno rispetto della privacy. (Funzione attualmente in versione Beta)
Il Tuo Codice Sfida
Genera un codice o condividi il link diretto
------
Fai inquadrare questo QR con la fotocamera per iniziare la sfida al volo
Accetta la Sfida
Inserisci il codice di 6 cifre del tuo amico
Scontro Head-to-Head
T
Tu
Studente
0.00Media Globale
VS
A
Amico
Amico
0.00Media Globale
In Vantaggio
Analisi completata
Voti Registrati
0Tu
vs
0Amico
Assenze & Ritardi
0Tue
vs
0Amico
Materia Dominante
-
+0.00
Voti Eccellenti (≥ 8)
0Tu
vs
0Amico
Radar di Confronto Medie
Sovrapposizione delle prestazioni per tutte le materie in comune
Scontro Diretto Materia per Materia
Delta di scarto e barre comparative in tempo reale
Attestato Ufficiale di Sfida
Scarica l'attestato ad alta risoluzione con il verdetto finale
EduTrack
Arena • Head-to-Head 1 vs 1
🏆 VINCITORE INDISCUSSO
ATTESTATO DI VITTORIA
Si attesta il trionfo nello scontro accademico 1 vs 1.
Sfidante 1 (Tu)
TU
0.00
0 voti registrati
VS
Sfidante 2
AMICO
0.00
0 voti registrati
Materia di Spicco: Matematica (+1.50)
EduTrack Academic Battle Engine
Certificato rilasciato e verificato digitalmente
-
VERIFIED
Media per Materia
Analisi Rendimento Materie
Data
Materia
Voto
Tipo
Esito
Google Calendar & Sincronizzazione Automatica
Mantieni compiti, verifiche e lezioni sempre sincronizzati con il tuo calendario personale
Sincronizzazione Automatica
Grazie alla sincronizzazione automatica, Google Calendar o Apple Calendar riceveranno direttamente e in background tutti i compiti da svolgere, le date delle verifiche e gli argomenti delle lezioni inseriti dai docenti sul registro.
Copia questo link se desideri aggiungerlo manualmente (su Google Calendar > "Altri calendari" > "Da URL", iOS > "Aggiungi calendario sottoscritto"):
Come funziona la sincronizzazione automatica?
1
Collega il calendario
Clicca su Aggiungi a Google Calendar. Si aprirà Google Calendar con il tuo feed privato già inserito.
2
Conferma l'aggiunta
Conferma cliccando su "Aggiungi calendario" nella schermata di Google.
3
Tutto in automatico
Google aggiornerà continuamente il calendario con le scadenze dei compiti e le verifiche future.
Soglia Limite Assenze — 25%
Superare il 25% delle ore totali comporta la non ammissione all'anno successivo
0%
0 ore mancatesu 0 ore totali anno
0Assenze intere
0 ore
0Ritardi
0 ore
0Uscite anticip.
0 ore
0Giustificate
Registro Dettagliato
Data
Giorno
Tipo
Ore equiv.
Dettaglio
Stato
Tessera Mensa
Istituto Internazionale Edoardo Agnelli • Torino
Badge Studente
Caricamento...
Servizio Mensa & Presenze Totem
FORMATO
CODE128
—
Informazioni sul Servizio Mensa
Presenta questo codice a barre direttamente al lettore ottico o al totem all'ingresso della mensa scolastica.
Toccando Ingrandisci per Scanner il codice si espande a schermo intero e può essere ruotato per facilitare la scansione del laser anche da smartphone.
Il codice è archiviato localmente sul dispositivo ed è utilizzabile anche in modalità offline.
Notizie & Comunicazioni
Clicca su una comunicazione per leggerne il contenuto e scaricare eventuali allegati.
Cronologia Aggiornamenti
v1.8.0 (Tessera Mensa Digitale & Topbar Polish)
ATTUALE
Badge mensa con codice a barre CODE128, scansione ingrandita a 90° su mobile e accesso rapido al Feedback
Nuova Sezione Tessera Mensa: Integrazione completa del tesserino scolastico con estrazione automatica del codice badge e foto studente dai server Mastercom, accessibile sia online che offline.
Codice a Barre CODE128 Vettoriale: Generazione client-side in formato standard CODE128 ad altissimo contrasto per garantire la compatibilità con tutti i lettori ottici e totem dell'Istituto Agnelli.
Ingrandimento per Scanner con Rotazione Automatica a 90° su Mobile: Toccando "Ingrandisci per Scanner", il pop-up su smartphone ruota automaticamente in orizzontale estendendosi per oltre l'80% dell'altezza dello schermo, rendendo il codice a barre gigante e istantaneamente scansionabile.
Navigazione Ottimizzata nella Sidebar e nel Menu Mobile: Posizionamento naturale della Tessera Mensa subito sotto ad Assenze nella barra laterale e subito dopo Monitoraggio nel menu mobile "Altro" (con griglia 3x3 perfetta).
Nuovo Pulsante Feedback in Topbar: Il pulsante Feedback è ora collocato in cima allo schermo accanto al tasto EduTrack AI, per inviare segnalazioni e suggerimenti in 1 solo tap da qualsiasi schermata.
Raffinamento Grafico e UX: Rimosse le diciture ridondanti, pulsante di aggiornamento manuale con feedback visivo e chiusura rapida del modale con un tocco sullo sfondo oscurato.
v1.7.0 (Zero-Duplicate Push & Calendar Pro)
Deduplicazione assoluta notifiche push, supporto nativo Apple Calendar (.ics) e layout calendario edge-to-edge
Zero Notifiche Duplicate (Idempotency Key): Riscritto il motore cron delle notifiche push con persistenza crittografica dello storico sul database. Una volta inviato un avviso (per voti, circolari, compiti o assenze), non viene mai più reinviato.
Supporto Apple Calendar One-Click: Nuovo pulsante dedicato per esportare istantaneamente qualsiasi impegno o lezione direttamente nell'app Calendario di iOS, iPadOS e macOS tramite file .ics generato al volo.
Dettagli Lezioni Arricchiti nel Calendario: Ogni evento esportato include orari precisi di inizio/fine lezione e la descrizione completa nel formato "Lezione: MATERIA - Dettagli".
Layout Calendario Edge-to-Edge: Riprogettato lo spazio orizzontale eliminando i vuoti laterali su tablet e desktop, ottimizzando la leggibilità degli impegni quotidiani e settimanali.
Ottimizzazione Build Vercel: Risolto il conflitto tra configurazioni di build e funzioni serverless, garantendo deployment ultra-rapidi e stabilità del backend.
v1.6.0 (Smart Sync v2 & Live Auto-Refresh)
Accesso veloce rinnovato, auto-refresh su notifiche push e ritorno in primo piano, pulsante sync dedicato
Risoluzione Stale Data su Accesso Veloce: Risolto definitivamente il problema dei dati bloccati alla vecchia cache. All'avvio dell'app i dati vengono caricati istantaneamente (0ms) e aggiornati fluidamente in background con le ultime novità da Mastercom.
Aggiornamento Istantaneo da Notifica Push (OneSignal): Cliccando su qualsiasi notifica push, l'app naviga direttamente alla sezione interessata e avvia all'istante una sincronizzazione forzata in background per mostrare subito il nuovo voto o compito.
Pulsante di Sincronizzazione Rapida nella Topbar: Introdotto un nuovo tasto dedicato nella barra superiore con icona animata e stato dinamico per forzare un refresh manuale in qualunque momento.
Riconnessione Automatica al Rientro nell'App (Resume Sync): Rilevamento automatico del ritorno dell'app in primo piano (visibilitychange e window focus) per sincronizzare il registro se l'ultimo aggiornamento risale a più di 2 minuti fa.
Scraping Ultra-Resiliente & Vercel Serverless Optimization: Protezione con fallback selettivo per ogni singolo modulo del registro (voti, compiti, agenda, assenze) ed estensione del timeout di esecuzione su Vercel a 60 secondi nella regione europea fra1 a bassissima latenza.
Notifiche Toast Intelligenti: Rilevamento automatico delle novità rispetto alla sessione precedente con avviso non invasivo "✨ Dati aggiornati dal registro".
v1.5.0 (Sincronizzazione Calendario & Feed iCal)
Integrazione bidirezionale con Google Calendar, Apple Calendar e feed iCalendar universale
Sezione Dedicata Sincronizzazione Calendario: Nuova schermata integrata nella sidebar per gestire e configurare la sincronizzazione automatica di Compiti, Argomenti e Agenda.
Feed iCalendar (.ics) Personale e Sicuro: Generazione di token crittografici privati per abbonarsi agli eventi scolastici da Google Calendar, iOS, macOS e Outlook con aggiornamento continuo.
Aggiunta Manuale Rapida su Card (Google & Apple): Pulsanti dedicati su ogni singolo impegno/lezione per esportare l'evento istantaneamente con un click sia su Google Calendar che con download diretto del file .ics per Apple Calendar.
Calcolo Intelligente degli Orari di Lezione: Parsing avanzato degli orari dalle schede scolastiche con generazione automatica di blocchi lezione da 1 ora (es. 10:15 – 11:15) e formattazione chiara della descrizione ("Lezione: MATERIA - Dettagli").
Layout Ottimizzato Full-Width: Riprogettazione dello spazio a schermo per eliminare aree vuote e garantire una visualizzazione pulita e senza attriti su tablet e desktop.
v1.4.0 (AI Strategist 2.0 & Analisi Rinnovata)
Motivazione contestuale, distinzione intelligente tra compiti e argomenti, aree critiche reali e piano d'azione
Riprogettazione Completa dell'Analisi Strategica: Nuovo motore analitico AI in 4 pilastri: Motivazione personalizzata, Priorità ordinate per scadenza, Aree Critiche e Strategia operativa.
Distinzione Rigorosa tra Compiti e Argomenti: L'intelligenza artificiale non confonde più le semplici lezioni svolte in classe con i compiti assegnati a casa, focalizzando le priorità sulle scadenze reali.
Aree Critiche Intelligenti senza Falsi Positivi: Eliminati i messaggi generici o vuoti; le criticità vengono segnalate solo in caso di verifiche imminenti o scadenze ravvicinate della stessa materia.
Fix "Readonly Database" su SQLite: Risolto l'errore di database bloccato in sola lettura durante le conversazioni con la chat AI, garantendo transazioni sicure e conteggio quote impeccabile.
Formattazione Grafica delle Schede Strategiche: Nuovi box visuali con icone tematiche, gradienti e liste numerate per una lettura rapida prima dello studio.
v1.3.0 (Battle Arena & VS Confronto)
Nuova esperienza gamificata 1 vs 1, radar materie, QR Code e attestato di vittoria
Interfaccia Battle Arena Gamificata: Scontro testa a testa Tu vs Amico con badge centrale al neon, contatore numerico fluido delle medie globali e banner del verdetto dinamico (In Vantaggio, In Svantaggio o Pareggio).
Effetto Coriandoli Festivo: Lancio di particelle coriandoli celebrative in caso di vittoria e superamento del punteggio avversario.
4 Mini Cards Statistiche: Confronto istantaneo di voti totali presi, assenze & ritardi, materia dominante con delta massimo favorevole e conteggio voti eccellenti (≥ 8).
Radar Chart Comparativo (Spider Graph): Grafico radar a doppia area sovrapposta (blu per te, viola per l'amico) per confrontare all'istante i punti di forza in ogni disciplina scolastica.
Breakdown Materia per Materia con Delta Pills: Visualizzazione dettagliata con doppie barre progressive (0–10) e pillole colorate con lo scarto esatto (es. +0.75 o -0.50).
Condivisione Rapida con QR Code & Web Share: Generazione automatica di codici a 6 caratteri persistenti su database, copia rapida del solo codice, QR Code scansionabile con fotocamera e Deep Linking con avvio automatico della sfida.
Esportazione Attestato Ufficiale HD (.png): Download in 1 click di un attestato ufficiale ad alta risoluzione in stile EduTrack personalizzato con i dati della sfida e il sigillo di verifica.
v1.2.0 (Notifiche Push & Centro Avvisi)
Notifiche push istantanee per nuovi voti e comunicazioni, campanella topbar e preferenze personalizzate
Notifiche Push Real-Time (OneSignal): Ricezione istantanea di avvisi sonori e notifiche push su smartphone e desktop per ogni nuovo voto registrato dai docenti, assenze o compiti assegnati.
Centro Notifiche & Campanella Topbar: Nuova icona campanella in alto a destra con pallino blu (live dot) per visualizzare in un click la cronologia delle notifiche non lette.
Pannello Preferenze Notifiche: Sezione di controllo granulare in Impostazioni per scegliere liberamente quali tipologie di avviso ricevere (voti, assenze/ritardi, circolari, promemoria compiti).
Polling & Background Sync Automatico: Servizio lato server per il monitoraggio continuo del registro elettronico con invio mirato e crittografato delle notifiche a ciascun utente iscritto.
Onboarding con Richiesta Permessi Guidata: Banner non invasivo e modal di attivazione al primo accesso per configurare le notifiche in un solo tap.
v1.1.0 (Smart Sync & Turbo Cache)
Sincronizzazione istantanea, persistenza database e grafica mobile perfezionata
Sincronizzazione Istantanea (Cache-First / Stale-While-Revalidate): Layer di caching persistente su database (SQLite) per caricare i dati dello studente a tempo zero senza attendere lo scraping sequenziale di Mastercom.
Persistenza Serverless & Tolleranza Riavvi: I dati rimangono memorizzati nel database per 2 ore (o fino a refresh forzato) resistendo ai ricicli del server.
Modalità Offline Fallback: Se i server Mastercom risultano lenti o irraggiungibili, l'app mostra in automatico l'ultima versione memorizzata.
Schermata di Accesso Mobile Ottimizzata: Riprogettato completamente il layout della schermata di login su smartphone con proporzioni ergonomiche.
Icone PWA e Favicon HD: Generata l'icona ufficiale con trasparenza nativa a tutte le risoluzioni per l'installazione su home screen iOS e Android.
v1.0.0 (Release Stabile)
STABILE
EduTrack esce dalla Beta ed entra in versione Stabile!
Fine della Beta: L'applicazione è ufficialmente stabile, matura e pronta per l'uso quotidiano.
EduTrack AI Chat Overhaul: Riprogettato completamente l'assistente IA integrando una chat conversazionale in tempo reale con cronologia e supporto avanzato.
Design Empty State Unificato: Tutte le sezioni vuote (voti, compiti, agenda, corsi, note, notizie) ora seguono un'unica linea stilistica con bellissimi placeholder grafici, animazioni e messaggi contestuali.
Rilevamento Fine Anno Scolastico: La dashboard riconosce in automatico quando il registro è formattato e vuoto (in estate o prima del riavvio) impostando un overlay celebrativo e calcolando la fascia temporale futura (es. 2026/2027).
v0.34.0 (Notizie Funzionanti)
Lettura Messaggi & Fix Sezione Comunicazioni
Lettura Notizie Completa: Cliccando su una comunicazione si apre un modal con il contenuto completo del messaggio, estratto dal thread del registro scolastico.
Mittente, Oggetto e Data nel Modal: Il popup mostra mittente, oggetto e data già in cache senza attendere il caricamento del testo.
Parsing HTML Normalizzato: Rimossi gli attributi class/style dal corpo del messaggio per un formato coerente tra tutte le comunicazioni.
Allegati Rilevati: Il sistema individua gli allegati con link S3 diretto. Il download è attualmente in fase di sviluppo.
Rilevamento Errori con Debug: Se un messaggio non si carica correttamente, il modal mostra l'errore con dettagli tecnici invece di un alert generico.
Banner Avviso Download: Aggiunto avviso giallo nel modal quando un messaggio contiene allegati, per indicare che il download è ancora in sviluppo.
Export ZIP Registro: Nuovo pulsante in Monitoraggio che genera uno ZIP scaricabile con quattro CSV (voti, medie per materia, assenze, note disciplinari) e un README di riepilogo — tutto calcolato in-browser con JSZip, senza passare dal server.
Sidebar Riorganizzata: La barra di navigazione sinistra è stata suddivisa in quattro gruppi logici — Panoramica, Rendimento, Agenda & Studio, Registro — con icone aggiornate per ogni voce.
Badge Beta su Confronta Voti: Aggiunto avviso visibile che segnala la funzione come sperimentale, in linea con il banner già presente su Notizie.
Pulizia Commenti: Rimossi oltre 20.000 caratteri di commenti da HTML, JS e CSS — codice più leggero e pronto per la produzione.
v0.32.0 (Sync Screen Redesign)
Schermata di Caricamento a Tema Scolastico
Icone Materie Animate: Sette icone tematiche (calcolatrice, chimica, libro, globo, palette, musica, laurea) oscillano in sequenza durante il caricamento, con il cappello da laurea centrale più grande e luminoso.
Step List Progressiva: Quattro card (Connessione, Voti, Agenda, Assenze) si attivano in ordine con pallino pulsante blu e diventano verdi al completamento.
Barra con Shimmer & Glow: Barra di progresso con gradiente, effetto luce scorrevole e percentuale testuale aggiornata in tempo reale.
Punti Animati nel Titolo: I tre punti di "Caricamento in corso..." rimbalzano uno ad uno per comunicare attività senza girare un semplice spinner.
v0.31.0 (Guida Credenziali)
Onboarding & Accessibilità Login
Popup Guida Credenziali: Aggiunto link "Come trovo le credenziali?" sotto il pulsante Accedi nella pagina di login. Cliccandolo si apre un popup a 4 passi che spiega come accedere al registro ufficiale Agnelli con Google, trovare il codice studente e reimpostare la password senza inserire quella vecchia.
Link Diretto al Registro: Il popup include un pulsante CTA che apre direttamente il sito ufficiale agnelli-to.registroelettronico.com in una nuova scheda.
Chiusura Intuitiva: Il modale si chiude cliccando fuori, con la × o premendo Escape — coerente con tutti gli altri popup dell'app.
v0.30.0 (Feedback & Polish)
Comunicazione Diretta & Rifinitura Finale
Sistema Feedback Gmail: Il form Feedback ora invia le segnalazioni direttamente via SMTP Gmail al team di sviluppo — nessun servizio di terze parti necessario.
Toast di Conferma: Dopo l'invio del feedback, un toast animato conferma il successo visivamente all'utente con un piccolo delay per garantire la visibilità.
Fallback Locale: Se il server SMTP non è configurato, il feedback viene salvato automaticamente su file locale senza alcun errore per l'utente.
v0.29.0 (Wrapped Cleanup)
Anno Wrapped Più Snello & Diretto
Rimossa Classifica Scolastica: Eliminata la slide "Dove sei nella scuola?" e il relativo modale di consenso per la privacy — il Wrapped è ora completamente locale.
Avvio Diretto: Il Wrapped si avvia immediatamente senza chiedere il consenso per la classifica, rendendo l'esperienza più fluida e veloce.
Correzione Numerazione Slide: Ridotto TOTAL_SLIDES da 10 a 9, aggiornata la barra di avanzamento e i confetti ora scattano correttamente sul Finale.
v0.28.0 (Merge Conflict Fix)
Stabilità e Integrità del Codice
Risoluzione Conflitti Git: Eliminati 3 blocchi di merge conflict in script.js che bloccavano completamente il caricamento dell'applicazione.
renderChartIfNeeded Unificato: Mantenuta la versione robusta con retry automatico e controllo visibilità del canvas prima del render dei grafici.
Protezione Canvas: Aggiunto controllo clientWidth === 0 per evitare render di grafici su elementi nascosti o non pronti nel DOM.
v0.27.0 (Simulatore Mobile)
Monitoraggio Ottimizzato per Smartphone
Layout Responsive a 3 Colonne: Il simulatore voti passa da 3 colonne fisse a layout adattivo: 2 colonne su tablet, colonna singola su mobile.
Header Simulatore Mobile: Il selettore materia e l'obiettivo si espandono a tutta larghezza su schermi piccoli per massima usabilità.
Touch-Friendly: Slider con altezza aumentata a 28px, input numerici compatti e font ridotti per leggibilità ottimale su qualsiasi dispositivo.
v0.26.0 (Simulatore Vuoto)
Esperienza Simulatore Più Intuitiva
Partenza Vuota: La lista voti simulati ora parte vuota invece di mostrare un 6 precaricato — i voti appaiono solo quando si clicca "Aggiungi".
Placeholder Intuitivo: Quando la lista è vuota, viene mostrata un'icona con testo "Nessun voto da simulare" al posto di un campo vuoto confuso.
Rimozione Totale: Rimosso il blocco che impediva di eliminare l'ultimo voto simulato — ora si possono rimuovere tutti.
v0.25.0 (God Mode & Override)
Simulatore Avanzato con Easter Egg
Modifica Voti Esistenti: Nuova colonna nel simulatore per modificare i voti reali già presenti — ogni voto mostra un input numerico editabile con chip colorato e data.
Ricalcolo in Tempo Reale: Media attuale e futura si aggiornano istantaneamente modificando qualsiasi voto; le righe modificate vengono evidenziate con bordo blu.
Reset Override: Pulsante dedicato per ripristinare tutti i voti modificati ai valori originali in un click.
Easter Egg — God Mode: Se l'utente "Matteo Busca" accede al Monitoraggio, tutti i voti vengono automaticamente impostati a 10 con toast animato speciale.
v0.24.0 (Break & Pagamenti Admin)
Contabilità Avanzata per Amministratori
Tipo Break: Aggiunto il tipo "Break" per le lezioni speciali nel pannello admin — le lezioni di tipo Break vengono escluse dai conteggi e dai calcoli pagamento.
Conferma Pagamento: Nuovo pulsante "Salda" nella scheda iscritti che aggiorna stato pagamento nel database e riflette il cambio nell'interfaccia in tempo reale.
Ordinamento Insegnanti: I docenti nel pannello contabilità sono ora ordinati per numero di lezioni decrescente per evidenziare subito i più attivi.
v0.23.0 (Personalizzazione & Feedback Visivo)
L'App che Riflette il Tuo Studio
Dynamic Theme Engine: Introdotta la modalità tema dinamico; il colore dell'interfaccia cambia automaticamente in base alla tua media (Verde = Eccellenza, Rosso = Emergenza).
UI Personalizzata: Aggiunti nuovi controlli nella sezione Personalizza per forzare l'accento colore o attivare il feedback dinamico.
Dashboard KPI Refresh: Nuove transizioni fluide sui contatori principali che si animano al caricamento dei dati.
v0.22.0 (Challenge UI & Design Focus)
Scontro Integrato & Design Pulito
Integrated Challenge: Il "Confronta Voti" abbandona lo stile esterno per adottare lo stesso design system premium dell'app principale.
Eliminazione Flashy Elements: Rimossi orbi fluttuanti e gradienti Spotify per favorire un'interfaccia più pulita, leggibile e professionale.
Radar Chart Theme-Aware: Il grafico radar della sfida ora rispetta perfettamente il tema Light/Dark dell'utente.
v0.21.0 (Medie Pesate & Precisione)
Calcoli Matematici Avanzati
Supporto Pesi (20%, 50%): Il sistema ora riconosce e processa i pesi variabili dei voti estratti dal registro.
Media Ponderata: Algoritmo di calcolo riscritto per fornire una media reale che rispecchia i calcoli ufficiali dei docenti.
Badge Peso: Visualizzazione immediata della percentuale di incidenza accanto ad ogni voto nella tabella valutazioni.
v0.20.0 (Monitoraggio Intelligente)
Controllo Totale sul Rendimento
Riepilogo Insufficienze: Nuova sezione automatica in Monitoraggio che elenca tutte le materie sotto la sufficienza con schede rapide di recupero.
Conditional UI: Il pannello di "Attenzione" scompare dinamicamente se non ci sono criticità rilevate, lasciando spazio a feedback positivi.
Quick Navigator: Cliccando su una materia insufficiente, l'app ti porta istantaneamente al calcolatore di quella specifica materia.
v0.19.0 (Hierarchy & Scroll Fix)
Stabilità Strutturale del Layout
Layout DOM Fix: Risolto un bug critico di annidamento HTML che causava il blocco dello scorrimento e la scomparsa della navigazione mobile.
Recovery System: Ripristinata la corretta chiusura dei contenitori `app-screen` e `views-container`.
Safe-Area Scrolling: Ottimizzata l'area di scorrimento per evitare che i contenuti finiscano sotto la barra di navigazione.
v0.18.0 (Security & Stealth)
Bypass Firewall Mastercom
Browser Impersonation: Implementata mimetizzazione avanzata degli header per bypassare i controlli IP dei datacenter.
Dynamic Form Scraping: L'app ora estrae dinamicamente campi nascosti (db_key, login_ts) dal form ufficiale di Mastercom al momento del login.
Anti-Bot Resilience: Ridotto il rischio di blocchi temporanei durante la sincronizzazione massiva dei dati.
v0.17.0 (Vercel Core Persistence)
Logica Server-Side per il Cloud
Redis/KV Integration: Configurato il supporto backend per Vercel Storage, garantendo sessioni fluide.
Session Security: Implementate cookie policy SameSite=None e Secure per mantenere l'utente loggato anche su PWA.
Async Optimization: Rimozione del threading lato server a favore di una gestione delle richieste asincrona più leggera.
v0.16.0 (Battle Mode Expansion)
Competizione Sociale Anonima
Certificate Generator: Aggiunta funzione per scaricare o stampare un attestato di vittoria personalizzato dopo lo scontro.
Social Link: Ottimizzata la condivisione del proprio codice sfida per velocizzare il confronto tra compagni.
Privacy Engine: I dati condivisi per il confronto sono criptati e anonimizzati per garantire la massima riservatezza.
v0.15.0 (Confronta Voti - Battle Mode)
Dati vs Dati nel Massimo Hype
Scontro Animato: Nuova interfaccia "Battle" per sfidare i voti dei tuoi amici tramite codici univoci.
Round Statistici: Confronto round-per-round su Media, Numero Voti, Picchi di Eccellenza e Radar Chart finale.
v0.14.0 (Global Registry Support)
Espansione Oltre lo Standard
Multi-School Engine: Supporto per la configurazione dinamica di diverse scuole tramite file `school_registry.json`.
Automatic Proxy: Inserita logica di rilevazione del database corretto in base all'istituto di appartenenza.
v0.13.0 (API Core & Fallback AI)
Stabilità Server & Resilienza
Auto-Repair Sync: Eliminata la concorrenza tra Thread. Riscritto il cuore del backend per interrogare il database in modo rigorosamente sequenziale, sconfiggendo i bug di corruzione chiave e i grafici vuoti.
Guardian API: Aggiunto un modulo "Safe Request" in grado di intercettare le desincronizzazioni e lanciare auto-login invisibili di salvataggio. Sessioni indistruttibili.
AI Auto-Discovery: Script Python adattivo che interroga a cascata gemini-2.5, 2.0 e 1.5 bypassando perennemente il famigerato errore Not Found 404 finché non trova un modello permesso alla tua chiave.
Conversione Voti: Algoritmo nativo di trasformazione per simboli voti pre-grafico (I voti come "7½" e "8+" diventano float puliti, 7.5).
v0.12.0 (AI Strategist Overhaul)
Dalla Chat all'Analisi Automatica Premium
Addio Chat Universale: Rimossa la chat bot interattiva. Ora entra in campo la scheda "Analisi Tattica JSON" calibrata esclusivamente in base ai risultati personali dello studente.
Grafica Masterpiece: Nuovo elegante Overlay layer laterale composto da schede gerarchiche: Frase Motivazionale Iniziale (gradiente sfumato), Priorità Assoluta rossa, Aree Critiche e Strategia Didattica.
Visuals Intelligenti: Caricatore "Orb Pulse Aura" per l'attesa AI, ed UI Failure state a bottoni pronti a riconnettersi senza ricaricare la PWA.
v0.11.0 (Notizie & Tweaks)
Comunicazioni & Esperienza Utente
Notizie (Alpha): Inserimento iniziale della scheda Notizie per visualizzare le comunicazioni interne d'istituto.
UI Toolbar: Ridotta la dimensione e la visibilità del pulsante AI su mobile per non distrarre la navigazione generale.
Sorpresa Segreta: La modalità divertimento è stata nascosta... cerca tra i meandri del registro!
v0.10.0 (Agenda & Logic Polish)
Ottimizzazioni Logiche & Qualità di Vita
Smart Agenda Headers: L'intestazione dei giorni in Agenda ora aggregate in modo dinamico e corretto, scrivendo "1 COMPITO" o "2 VERIFICHE" invece di un generico "EVENTO".
Pulizia Visiva: Rimozione del badge colorato ricorsivo interno alla card dell'Agenda, dato che il bordo trasmette già l'informazione del tipo di evento.
Triplo Ordinamento Voti: Riscritto il motore del pulsante "Ordina" nella vista Voti; ora agisce come uno switch ciclico per ordinare i voti al volo per (Data cronologica, Voto Crescente, Voto Decrescente).
Cleanup: Eliminato un tasto ridondante e non funzionante dalla toolbar dei voti.
v0.9.0 (Graph & Dashboard Engine)
Grafici Perfetti su Mobile
Anti-Scale Engine (Chart.js): Tutti i grafici su mobile (Andamento Voti, Medie per Materia) ora mantengono nativamente le proporzioni corrette permettendo uno scrolling laterale fluido, senza "schiacciarsi" o sfocarsi verticalmente o orizzontalmente.
Risorse Assenze Fixate: Il testo "25%" indicante il limite assenze rischiava di compenetrarsi in header su dispositivi stretti: l'ho ancorato rigidamente *sotto* l'interfaccia.
Label Giustificate Messa in Riga: Il badge di fondo "Tutte giustificate" è stato ripristinato al normale flusso HTML per evitare spiacevoli sovrapposizioni visive di testo sulla card.
v0.8.0 (Mobile Tables Refactor)
L'Esperienza Native su Mobile
Voti Redesign: Dismesso l'impilamento forzato (Flex Column); la tabella su mobile posiziona intelligentemente e parallelamente le nature del voto, lasciando grande spazio alla Data ed alla Materia.
Voto Chip Giganti: Gli indicatori principali dei voti (i quadrati arrotondati contenenti il numero es. "6") non si rimpiccioliscono più microscopicamente a 32px, ristabiliti ai comodi "44px" originali migliorando nettamente la sensazione di Touch (UI/UX).
Assenze Re-Layout: Stessa formula per le assenze su telefono: gerarchia giorno/data ristabilita, etichette "Tipo" e "Stato" piazzate in linea ed ingrandite, con un chip delle ore marcato per immediata evidenza.
v0.7.0 (Chaos & AI Interface)
Interazione Utente & Modalità Chaos
AI Smart Placement: Il tasto IA su mobile è stato spostato nella topbar per non coprire i contenuti in basso.
Marco Le Palle Mode: Introdotta la "Meme Mode" con scuotimento UI, colori psichedelici e dati casuali (Modalità Sistema).
Profile containment: Risolto l'overflow delle foto profilo, ora perfettamente circolari e contenute.
Adaptive Menu: Transizioni più fluide per il menu "Altro" e chiusura automatica dopo la selezione.
v0.6.0 (Data & Navigation)
Struttura Voti e Nuova Navigazione
Grades Card-View: Rivoluzionata la tabella voti su mobile: trasformata in una lista di schede eleganti con voto in evidenza.
Bottom Menu v2: Riorganizzata la barra mobile con le 5 icone principali + tasto "Altro" espandibile.
Responsive Tables: Tutte le tabelle ora nascondono intestazioni ridondanti su mobile per massimizzare la lettura.
Subject Handling: Migliorata la visualizzazione dei nomi materie lunghi nelle barre di progresso.
v0.5.0 (Mobile Optimization)
Densità Informazioni & Leggibilità
Density Boost: Ridotta la dimensione base dei font del 12% su mobile per mostrare più dati contemporaneamente.
Compact KPI: Rimpicciolite le icone e i valori della dashboard per evitare scroll eccessivi su smartphone.
Sidebar improvements: Aggiunto troncamento intelligente dei nomi per evitare rotture del layout con nomi lunghi.
UI Polish: Ridotti margini e padding nelle sezioni principali per un look più moderno e compatto.
v0.4.0 (Professional PWA)
Rivoluzione Design PWA & AI Intelligence
PWA Support: EduTrack è ora installabile su Android e iOS come app nativa con supporto offline avanzato (Service Worker v3).
Design Overhaul: Introdotto il tema "Light Flat Professional". Eliminati i bagliori neon e i gradienti per una veste grafica premium e asciutta.
Dashboard Smart: Aggiunti nuovi widget dinamici per gli "Ultimi Voti" e i "Compiti Imminenti".
EduTrack AI: Integrato assistente IA intelligente con accesso a voti, argomenti e agenda per suggerimenti di studio personalizzati.
Esperienza Native App: Supporto completo alle "Safe Areas" (notch dei cellulari) e icone HD personalizzate per la home screen.
Timeline Pulita: Rimossa la ridondanza della data nel calendario timeline, lasciando solo il giorno della settimana per una lettura rapida.
v0.3.0
Interfaccia Native App e Fix CSS
Riprogettata intera interfaccia mobile per sembrare un'app nativa con Bottom Navigation bar in vetro (glassmorphism).
Diviso il massiccio file style.css (~2000 righe) in file CSS modulari e più facilmente gestibili (base, layout, components, views).
Aggiornati font e ridimensionati pulsanti per miglior supporto al touch.
Risolti problemi di calcolo matematico sulle percentuali del tracker delle assenze.
Introdotto il check dell'orario leggendolo dalle descrizioni su ore di ritardo e uscita.
Aggiunta etichetta "Alpha" al caricamento nell'interfaccia di Login.
Rinominate diciture da "Assegnazione" a "Compito" nell'agenda e in timeline.
Aggiunta la pagina Changelog per tracciare il diario di sviluppo.
v0.2.0
Nuovo Calcolatore Assenze e Timeline
Creata un'interfaccia a schede interattive (KPI) per Assenze, Ritardi, Uscite e Giustifiche.
Aggiunto un calcolatore intelligente di ore assenza (6h giorni standard, 8h al Giovedì).
Inserita la Progress Bar che traccia il raggiungimento della soglia bocciatura (25%).
Convertita la visualizzazione "Lavagna Kanban" dei compiti in una magnifica Timeline interattiva ordinata per giorno.
Persistenza lato client: introdotto il sistema per flaggare un compito come completato salvandolo in memoria cache del dispositivo.
Aggiunte scorciatoie per filtrare tra tipi di compito assegnati (Studio vs Esercizi scritti).
v0.1.0
Primo Rilascio Base
Integrazione principale con il database scolastico via web scraping Python.
Struttura dati: Voti, Agenda, Compiti, Note e Assenze.
Introdotte le macro-sezioni base e la logica di login col portale API.
Implementato il salvataggio automatico delle API Key nella local session così che l'app le ricordi a ogni avvio.
Integrazione Chart.js per monitoraggio progressi e Medie Materie.
Personalizza Interfaccia
Tema di Base
Colore d'Accento
Tema Dinamico
Il colore d'accento cambierà in base alla tua media scolastica per riflettere il tuo andamento.
Modalità Dinamica Disattivata
Notifiche Push
Ricevi avvisi in tempo reale per nuovi voti, compiti, agenda e circolari.
Stato: Non attive
Monitoraggio Avanzato
Analisi completa del tuo rendimento scolastico
Media Globale
--
Trend Mese
--
vs mese prec.
Materia Top
--
media più alta
A Rischio
0
materie <6
Voti Totali
0
nel periodo
Proiezione
--
fine anno stimato
Insufficienze Rilevate
Simulatore Voti
Simula più voti e modifica quelli esistenti per vedere come cambia la tua media
Voti da simulare
Modifica esistenti
Seleziona una materia
Media attuale
--
Nuova media
--
Variazione
--
6.00
Calcolatore Obiettivo
Scopri quanti voti ti servono per raggiungere una certa media
Segnala un bug o suggerisci una nuova funzione per EduTrack.
EduTrack AI
Assistente Scolastico
EduTrack
Il tuo Anno Wrapped
Scopri tutto quello che hai vissuto quest'anno scolastico, in un colpo solo.
Tocca per continuare
I tuoi voti
0
Voti ricevuti quest'anno
0 positivi
0 negativi
Sei un vero studente!
Media generale
0.00su 10
Il tuo rendimento complessivo
—Voto più alto
—Voto più basso
La tua materia forte
🏆
—
—di media
Eccellente in questa materia!
Da migliorare: — (—)
Escluse Ed. Fisica e Civica
Le tue assenze
0
Giorni di assenza
0 ritardi
0 uscite
Circa 0 ore di lezione mancate
Ogni lezione conta!
Argomenti e compiti
0
Argomenti trattati in classe
0compiti assegnati
0attività di studio
Una mente sempre al lavoro!
Note disciplinari
0
Note ricevute quest'anno
🏴☠️
Fenomeno Immortale
26+ note
⚡
Monumento Scolastico
21–25 note
💀
Maestro del Caos
16–20 note
🔥
Leggenda del Corridoio
11–15 note
😈
Ribelle in Formazione
6–10 note
🕊️
Osservato Speciale
1–5 note
👻
Fantasma
0 note
Il comportamento fa parte del percorso!
Classifica materie
Le tue top materie
🎉
Ottimo lavoro!
La costanza è la chiave per il successo. Continua così!
0Voti
0.0Media
0Materie
EduTrack
Anno Wrapped 2025/2026
🎉
Studente
⭐
0
Voti ricevuti
📊
0.00
Media generale
🏃
0
Assenze
📚
0
Argomenti
🏆 Materia forte
—
—
Continua così!
Novità in Tempo Reale
Rimani sempre aggiornato
Attiva le notifiche push per scoprire subito i nuovi voti e gli impegni, anche ad app chiusa.
Nuovi Voti & MedieNotifica immediata appena un docente inserisce una valutazione
Compiti & ScadenzePromemoria per consegne, verifiche e interrogazioni
Circolari, Notizie & AssenzeAvvisi tempestivi per comunicazioni ufficiali e variazioni
Su iPhone: Per abilitare le notifiche, tocca Condividi e seleziona "Aggiungi a Schermata Home", poi apri EduTrack dalla Home!
Nessun messaggio promozionale. Puoi personalizzare le categorie dalle Impostazioni.
Preferenze Notifiche
Scegli quali avvisi push ricevere sul tuo dispositivo
Notifiche non attive sul dispositivoPer ricevere questi avvisi devi consentire le notifiche nel browser.
Notifiche autorizzate e attive su questo dispositivo
Tutte le NotificheAbilita o disattiva globalmente tutti gli avvisi push
Nuovi VotiValutazioni e verifiche appena inserite
Compiti a CasaNuove assegnazioni ed esercizi
Argomenti delle LezioniContenuti spiegati dai docenti in classe
Agenda ed EventiVerifiche programmate e promemoria
Circolari & ComunicazioniMessaggi e avvisi della scuola/segreteria
Assenze e RitardiRegistrazione assenze, ritardi e uscite
Note DisciplinariAnnotazioni e richiami del corpo docenti
Istituto Agnelli • Scansione Mensa
Come è nato EduTrack
Dietro le quinte • 120+ commit di sviluppo e reverse engineering
Dal 13 Marzo 2026 a Oggi 100% Indipendente & Privacy First
Un viaggio di ingegneria del software nato sui banchi di scuola
EduTrack nasce da un'esigenza reale: avere un registro elettronico veloce, elegante, moderno e privo di attriti. Attraverso oltre 120 commit su Git, il progetto è evoluto da un semplice script di scraping a una Progressive Web App completa con intelligenza predittiva, notifiche push e supporto nativo per Android.
120+
Commit Git
6 Mesi
Sviluppo Costante
<0.1s
Avvio da Cache
7
Moduli & Eventi Push
Fase 1: La Scintilla & Reverse Engineering
Marzo 2026 • Commit dfd4a18 → 72065ac
Il registro ufficiale Mastercom presentava tempi di caricamento lunghi, un'interfaccia non adatta ai telefoni e sessioni che scadevano di continuo. Il progetto è iniziato analizzando il traffico HTTP: decifrare il meccanismo di autenticazione basato su parametri non documentati (current_key, current_user, db_key) e multipart form-data.
Reverse Engineering HTTP Mastercom Prototipo Flask su Vercel Primo Radar Chart delle Materie Calcolo Medie Pesate
Fase 2: Intelligenza Predittiva & Apple Design System
Aprile 2026 • Commit 83544b0 → 786779e
L'obiettivo è diventato trasformare i semplici numeri in strumenti utili per lo studio. Viene creato il Simulatore di Voti (che calcola matematicamente quale voto serve prendere per raggiungere l'obiettivo prefissato) e il modulo Confronta Voti. L'interfaccia viene completamente riprogettata ispirandosi al design pulito di iOS/macOS con blur glassmorphism.
Simulatore Obiettivo Voti Modulo Confronta Voti UI Glassmorphism & Tema Dinamico Ottimizzazione Mobile & iPad
Fase 3: EduTrack Wrapped & Monitoraggio
Maggio 2026 • Commit bb62834 → e725822
Nasce EduTrack Wrapped: un'esperienza interattiva annuale in stile Spotify Wrapped che analizza tutti i dati scolastici dell'anno (voto più alto, materia preferita, assenze, andamento temporale, badge divertenti) con animazioni e download istantaneo della card in HD. Viene introdotto il modulo di Monitoraggio con grafici temporali e distribuzione dei voti.
Viene rilasciata la Versione 1.0 Stabile. EduTrack diventa una piattaforma scolastica completa a 360°: sincronizzazione delle circolari e comunicazioni con allegati, agenda compiti, orario settimanale con aule e professori, assenze, ritardi e note disciplinari. Resilienza di rete rinforzata con fallback automatico e persistenza delle sessioni per 365 giorni.
Rilascio Versione 1.0 Ufficiale Circolari & Comunicazioni con Allegati Orario Settimanale & Docenti Sessioni Sicure a Lungo Termine
Fase 5: Notifiche Push, S3 Proxy & APK Android Nativo
Agosto 2026 • Commit 2f9ba16 → Oggi
Il coronamento del progetto: introduzione di un motore di background cron diffing che rileva nuovi voti, compiti, circolari, assenze o note e invia notifiche push istantanee via OneSignal anche ad app chiusa. Risoluzione della crittografia dei download S3 di Mastercom e preparazione completa come PWA Standalone e APK nativo Android tramite Trusted Web Activity (TWA).
Notifiche Push in Background (7 Eventi) OneSignal REST API v2 + Web SDK Proxy Streaming Allegati S3 Predisposizione Android APK (TWA/PWA)
Backend Python & Flask
Un'architettura leggera e asincrona in Python 3.12 con Flask. Gestisce il pool di sessioni HTTP persistenti, l'interazione con Mastercom e la logica di crittografia e diffing.
Vanilla JS ad Alte Prestazioni
Nessun framework pesante (React, Vue o Angular). Tutto il frontend è scritto in JavaScript puro per garantire un caricamento istantaneo in meno di 100ms e zero consumi di batteria.
Cache Ibrida SQLite + LocalStorage
Strategia Stale-While-Revalidate: l'applicazione si avvia all'istante mostrando l'ultima istantanea memorizzata e sincronizza le novità in background senza interruzioni.
Motore Push OneSignal & Cron
Un cron job automatico esegue il diffing crittografico dei dati utente ogni pochi minuti e inoltra notifiche push su smartphone e computer tramite OneSignal REST API v2.
Visualizzazione Dati con Chart.js
Radar di competenze, grafici di andamento temporale, curve di crescita e distribuzione dei voti renderizzati su canvas HTML5 ad alta risoluzione con gestione automatica del ciclo di vita.
Trusted Web Activity & PWA
Compatibilità completa per l'impacchettamento in APK Android nativo: icone maskable, manifest standardizzato e Service Worker per la navigazione fluida offline.
1. Il Bug S3 SignatureDoesNotMatch di Mastercom
Il Problema: Quando si scaricava una circolare, Mastercom generava un link S3 con firma HMAC valida e poi accodava la stringa &visualizza_app=1, invalidando la firma crittografica di AWS/OVH S3 e causando un errore 403.
La Soluzione: È stato creato l'endpoint /api/notizia/download che rimuove con espressioni regolari i parametri non firmati e agisce da proxy di streaming autenticato in tempo reale, consentendo il download istantaneo del PDF con il nome originale.
2. Il Loop di Ricaricamento dei Service Worker su Mobile
Il Problema: Su dispositivi mobili l'app si ricaricava 3 o 4 volte da sola all'avvio a causa di un conflitto tra il worker della PWA (/sw.js) e quello di OneSignal (/OneSignalSDKWorker.js) che si contendevano lo scope.
La Soluzione: Unificato l'intero stack in un solo Service Worker condiviso che importa l'SDK OneSignal e rimosso il listener aggressivo su visibilitychange, garantendo un'esperienza ultra-stabile senza alcun ricaricamento forzato.
3. Persistenza Permanente della Sessione (365 Giorni)
Il Problema: Le sessioni Mastercom scadono dopo pochi minuti di inattività, costringendo gli studenti a reinserire password e codici complessi.
La Soluzione: Implementato un layer di autenticazione silenziosa e sicura: se il token scade, EduTrack esegue un re-login trasparente in background tramite session pooling senza che l'utente debba mai digitare di nuovo le proprie credenziali.
La Visione Dietro EduTrack
"La scuola dovrebbe essere un luogo in cui la tecnologia semplifica la vita degli studenti invece di complicarla. EduTrack è nato come una sfida personale di sviluppo ed è diventato uno strumento quotidiano per centinaia di studenti dell'Istituto Internazionale Edoardo Agnelli. Non ci sono aziende dietro, nessun interesse commerciale, solo passione pura per la programmazione e per il design ben fatto."
Privacy Assoluta
Nessun dato personale o scolastico viene ceduto a terzi. Le credenziali viaggiano criptate e la comunicazione avviene unicamente tra il tuo dispositivo e i server dell'Istituto.
Efficienza Energetica
Grazie a un'architettura priva di librerie pesanti e a un sistema di cache a 3 livelli, l'applicazione consuma meno del 1% della batteria di un telefono durante l'intera giornata scolastica.
EduTrack • Creato con passione per l'Istituto Internazionale Edoardo Agnelli di Torino