Skip to content

giangibbar/FantAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ† FantAI

Assistente intelligente per l'asta del Fantacalcio Mantra.

Cosa fa

FantAI ti aiuta durante l'asta del fantacalcio con il sistema Mantra:

  • πŸ“Š Database giocatori β€” Statistiche degli ultimi 5 anni (fantamedia, gol, assist, presenze) da fantacalcio.it
  • 🎯 Valutazione asta β€” Ti dice se un giocatore vale il prezzo proposto, suggerisce alternative
  • πŸ“‹ Gestione rosa β€” Traccia i tuoi acquisti, mostra copertura moduli con percentuale
  • πŸ’‘ Suggerisci top 11 β€” Per ogni formazione, suggerisce i migliori giocatori disponibili rispettando il budget
  • πŸ‘₯ Tracker avversari β€” Monitora cosa comprano gli altri e quanto spendono
  • ⭐ Preferiti e note β€” Segna giocatori da tenere d'occhio, appunti per l'asta
  • πŸ“Š Info SOS Fanta β€” Guida asta, formazioni tipo, rigoristi, gerarchie portieri (scraping automatico)

Requisiti

  • Python 3.11+
  • Connessione internet (per scraping dati)

Installazione

cd FantAI
python3 -m venv .venv
source .venv/bin/activate
pip install flask pandas beautifulsoup4 lxml openpyxl requests rich

Avvio

python webapp.py

Apri http://localhost:5000 dal browser (PC o telefono sulla stessa rete).

Deploy su Raspberry Pi 4

L'app gira come servizio systemd con gunicorn:

# Installazione
python3 -m venv .venv
source .venv/bin/activate
pip install flask flask-compress pandas numpy requests beautifulsoup4 lxml openpyxl gunicorn

# Avvio manuale
gunicorn -w 2 -b 0.0.0.0:5000 webapp:app --timeout 120

# Service systemd (auto-start al boot)
sudo systemctl enable fantai
sudo systemctl start fantai

Accedi da http://192.168.1.26:5000 (o da telefono sulla stessa rete).

Ottimizzazioni RPi

  • Gzip+Brotli β€” pagina 72KB β†’ 17KB via flask-compress
  • Cache endpoint β€” /api/svincolati e /api/player_tags calcolati una volta, serviti in <50ms
  • Cache profili β€” scraping fantacalcio.it con TTL 24h
  • Scraping in background β€” non blocca lo startup
  • Bottone aggiornamento manuale β€” in βš™οΈ Impostazioni per forzare refresh dati

Struttura

FantAI/
β”œβ”€β”€ webapp.py              # Flask server
β”œβ”€β”€ templates/index.html   # Frontend (single page app)
β”œβ”€β”€ static/moduli/         # Immagini formazioni Mantra
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ fantacalcio.py     # Scraper statistiche fantacalcio.it
β”‚   β”œβ”€β”€ listone.py         # Scraper listone giocatori
β”‚   β”œβ”€β”€ sosfanta.py        # Scraper SOS Fanta (guide, formazioni, rigoristi)
β”‚   β”œβ”€β”€ valuation.py       # Motore di valutazione giocatori
β”‚   └── league_roster.py   # Parser rose della lega
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ fantacalcio/       # Stats 5 stagioni (CSV)
β”‚   β”œβ”€β”€ listone_2025_26.csv
β”‚   β”œβ”€β”€ mapping_nomi.csv   # Mapping nomi listone ↔ database
β”‚   └── Rose_*.xlsx        # Rose della lega (riferimento prezzi)

Aggiornamento per nuova stagione

  1. Listone β€” Carica il nuovo CSV da βš™οΈ Impostazioni
  2. Link SOS Fanta β€” Aggiorna gli URL quando escono le nuove guide
  3. Mapping nomi β€” Compila data/mapping_nomi.csv per i giocatori non riconosciuti
  4. Stats β€” Si aggiornano automaticamente all'avvio se manca la stagione corrente

Fonti dati

Fonte Cosa fornisce
fantacalcio.it Quotazioni, ruoli Mantra, fantamedie, statistiche 6 stagioni, profili giocatori
SOS Fanta Guide asta, formazioni tipo, rigoristi, fasce di prezzo

License

MIT

About

πŸ† Assistente AI per l'asta del Fantacalcio Mantra β€” valutazione giocatori, gestione rosa, tracker avversari, suggerimenti formazione

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors