andgiudici/assogestioni-board-advisory
0
Chaberton Partners - Board Advisory Platform
Piattaforma AI-powered per l'analisi e la valutazione di candidati per Consigli di Amministrazione secondo i criteri di Assogestioni.
π Produzione
URL: https://prosperoboardreporting.com/boardreporting
β¨ Features
Analisi CV Completa
- Upload multi-formato: PDF, Word (.docx), immagini (JPG, PNG)
- OCR avanzato: Estrazione testo da CV scansionati con Tesseract
- Estrazione foto: Rilevamento e salvataggio automatico foto profilo
- Parsing strutturato: AI-powered extraction con Claude Sonnet 4
Analisi Assogestioni
- Analisi EleggibilitΓ : Valutazione secondo principi Assogestioni 2026
- Cluster di Competenza: Mappatura su 10 cluster professionali
- Analisi flessibile: Selezione modulare di eleggibilitΓ e/o cluster
- Lista FTSE aggiornata: 44 societΓ quotate (Large, Mid, Small Cap - Gennaio 2026)
Generazione Report
- Documento Word personalizzato: Template professionale pre-compilato
- Export JSON: Dati strutturati scaricabili
- Classificazione automatica: SocietΓ quotate vs non quotate
- Metriche CdA: Conteggi ruoli per categoria
Sistema di Autenticazione
- Multi-utente: 5 utenti configurati (andrea, davide, lucrezia, emma, giulia)
- Sicurezza bcrypt: Password hashing con salt
- Session management: Gestione sessioni Streamlit
Analytics e Tracking
- Logging utilizzo: Tracciamento completo delle analisi per utente
- Statistiche cumulative: Contatori progressivi profili e risparmio
- Metriche performance: Timing dettagliato per ogni fase
- ROI tracking: Calcolo risparmio vs processo manuale
π οΈ Tecnologie
Backend
- Python 3.10+
- Streamlit 1.53.0: Framework web
- Anthropic Claude Sonnet 4: AI per analisi e estrazione
- bcrypt: Password hashing
- TOML/JSON: Configuration management
Document Processing
- python-docx: Manipolazione Word documents
- pdfplumber: Estrazione testo da PDF
- PyMuPDF (fitz): Parsing PDF avanzato
- pdf2image: Conversione PDF to images
- Pillow: Image processing
- pytesseract: OCR engine
- opencv-python-headless: Computer vision
OCR System (Tesseract)
- tesseract-ocr: Engine OCR base
- tesseract-ocr-ita: Language pack italiano
- tesseract-ocr-eng: Language pack inglese
- poppler-utils: PDF utilities (per pdf2image)
Infrastructure
- Hugging Face Spaces: Hosting applicazione
- Cloudflare Workers: Routing e custom domain
- Cloudflare DNS: Domain management
- Cloudflare SSL: HTTPS/TLS encryption
π¦ Dipendenze Complete
Python Dependencies (requirements.txt)
streamlit>=1.28.0
anthropic>=0.8.0
python-docx>=0.8.11
jsonschema>=4.17.0
nltk>=3.8.1
bcrypt>=4.0.1
toml>=0.10.2
pdfplumber>=0.10.0
pytesseract>=0.3.10
pdf2image>=1.16.0
Pillow>=10.0.0
PyMuPDF>=1.23.0
opencv-python-headless>=4.8.0
numpy>=1.24.0System Dependencies (packages.txt)
tesseract-ocr
tesseract-ocr-ita
tesseract-ocr-eng
poppler-utilsπ Deployment
Hugging Face Spaces
Repository: https://huggingface.co/spaces/andgiudici/assogestioni-board-advisory
Setup Secrets
- ANTHROPIC_API_KEY: API key Claude
- credentials: TOML con utenti (vedi CREDENZIALI_FINALI.txt)
Files richiesti
app_final_claude_assogestioni2026-v2.py: Main apprequirements.txt: Python dependenciespackages.txt: System dependenciesREADME.md: HF configuration (frontmatter YAML)Template_Scheda_Persona_CdA_MARKED.docx: Template Wordprincipi di eleggibilitΓ /: Folder con documenti Assogestioni
Cloudflare Configuration
Worker (prospero-boardreporting)
- Route:
prosperoboardreporting.com/* - Funzione: Landing page + iframe embed app
- SSL: Full encryption
- HSTS: Enabled
DNS Settings
- Domain: prosperoboardreporting.com
- SSL/TLS: Full
- Always Use HTTPS: Enabled
- Automatic HTTPS Rewrites: Enabled
Custom Domain
- prosperotechnology.com: Disattivato
- prosperoboardreporting.com: Attivo con Worker
Git Repositories
GitHub: https://github.com/andgiudici-svg/assogestioni-board-advisory (private) Hugging Face: https://huggingface.co/spaces/andgiudici/assogestioni-board-advisory
Sync Commands
git push origin main # Push to GitHub
git push huggingface main # Deploy to HF Spacesπ Credenziali
Vedi file CREDENZIALI_FINALI.txt per:
- Username e password (5 utenti)
- Hash bcrypt per Hugging Face secrets
- Email associate
π Analytics
Metriche Tracciate
- Username
- Nome CV analizzato
- Timing: extraction, structuring, analysis
- Risparmio economico (β¬56.82 per CV)
- Timestamp
Storage
- File:
output/usage_log.json - Formato: JSON array di entries
- Persistenza: Locale su HF Space
Calcolo Risparmio
- Stipendio assistente: β¬50.000/anno
- Ore lavorative: 1.760/anno
- Costo orario: β¬28.41/h
- Tempo manuale: 2h per CV
- Risparmio: β¬56.82 per analisi
π Struttura Progetto
.
βββ app_final_claude_assogestioni2026-v2.py # Main application
βββ requirements.txt # Python dependencies
βββ packages.txt # System dependencies
βββ README.md # This file + HF config
βββ DEPLOY.md # Deployment guide
βββ CREDENZIALI_FINALI.txt # User credentials (gitignored)
βββ Template_Scheda_Persona_CdA_MARKED.docx # Word template
βββ principi di eleggibilitΓ / # Assogestioni documents
βββ output/ # Generated files
β βββ usage_log.json # Analytics log
β βββ [person_slug]/ # Per-person folders
βββ .gitignore # Git exclusionsπ§ Development
Local Setup
# Clone repository
git clone https://github.com/andgiudici-svg/assogestioni-board-advisory.git
cd assogestioni-board-advisory
# Install dependencies
pip install -r requirements.txt
# Install system dependencies (macOS)
brew install tesseract tesseract-lang poppler
# Configure secrets
mkdir .streamlit
echo 'ANTHROPIC_API_KEY = "your-key"' > .streamlit/secrets.toml
# Add credentials section to secrets.toml
# Run locally
streamlit run app_final_claude_assogestioni2026-v2.pyTesting
- Test upload: PDF, DOCX, immagini
- Test OCR: CV scansionati
- Test analisi: Con e senza emittente
- Test autenticazione: Tutti gli utenti
- Test export: Word e JSON
π Workflow Utente
- Login: Username/password
- Upload CV: Drag & drop o browse
- Estrazione: Parsing AI + OCR se necessario
- Strutturazione: Generazione JSON validato
- Analisi Assogestioni: Selezione opzioni + emittente
- Generazione Report: Download Word
π Troubleshooting
OCR non funziona
- Verifica
tesseract-ocrinstallato - Controlla language packs (ita, eng)
- Verifica
poppler-utilsper PDF
Template non trovato
- File:
Template_Scheda_Persona_CdA_MARKED.docx - Deve essere nella root del progetto
- Push su HF se mancante
Secrets error
- Formato TOML corretto in HF
- Controlla escape di caratteri speciali
- Verifica hash bcrypt validi
Domain redirect issues
- Svuota cache Cloudflare
- Verifica Worker route attivo
- Check DNS propagazione (dnschecker.org)
π Support
Per problemi tecnici o richieste:
- Repository: https://github.com/andgiudici-svg/assogestioni-board-advisory/issues
- Email: andrea.giudici@chaberton.com
Versione: 2.0 Ultimo aggiornamento: Gennaio 2026 Powered by: Claude Sonnet 4.5 & Streamlit
