Una soluzione enterprise-grade per la gestione e valutazione quantitativa dei rischi di progetto, sviluppata con architettura moderna e interfaccia intuitiva.
- 🎯 Overview
- ✨ Caratteristiche
- ⚙️ Requisiti di Sistema
- 📦 Installazione
- 🔧 Configurazione e Utilizzo
- 🏗️ Architettura
- 📊 Metodologia di Valutazione
- 🎨 Personalizzazione
- 🧪 Testing
- 🚀 Deployment
- 🐛 Troubleshooting
- 🤝 Contribuire
- 📄 Licenza
Il Risk Assessment Dashboard è una soluzione completa per la gestione quantitativa dei rischi aziendali, progettata per team di project management, risk manager e decision maker. La piattaforma integra metodologie standard di risk assessment con un'interfaccia moderna e funzionalità avanzate di reportistica.
- Project Risk Management: Valutazione e monitoraggio rischi di progetto
- Enterprise Risk Assessment: Gestione rischi a livello organizzativo
- Compliance Management: Supporto per framework di conformità
- Strategic Planning: Analisi dei rischi per decisioni strategiche
- Heat Map Interattiva: Matrice probabilità/impatto con posizionamento preciso per valori decimali
- Dashboard Real-time: Monitoraggio KPI e metriche di rischio in tempo reale
- Grafici Avanzati: Trend analysis e distribuzione dei rischi per categoria
- Tabella Dinamica AgGrid: CRUD completo con sorting, filtering e grouping
- Calcolo Automatico: Priorità e scoring basati su algoritmi configurabili
- Validazione Dati: Controlli di integrità e consistenza automatici
- Export Multi-formato: PDF, Excel, CSV con heat map incorporata
- Report Personalizzabili: Template configurabili per diversi stakeholder
- Scheduling Automatico: Generazione report programmata
- Auto-save: Salvataggio automatico con sincronizzazione real-time
- Data Backup: Sistema di backup automatico incrementale
- Audit Trail: Log completo delle modifiche e accessi
- Dark/Light Theme: Interfaccia responsive ottimizzata
- Performance Optimized: Gestione efficiente di dataset di grandi dimensioni
- Accessibility: Conforme alle linee guida WCAG 2.1
- ✅ Visualizzazione rischi in tempo reale
- ✅ Gestione completa CRUD tramite interfaccia intuitiva
- ✅ Export immediato in PDF/Excel
- ✅ Calcolo automatico priorità e scoring
- Python: versione 3.8 o superiore
- pip: gestore pacchetti Python
- Browser: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
- RAM: 4GB (minimo), 8GB (consigliato)
- Storage: 500MB spazio libero
- CPU: Dual-core 2.0GHz o superiore
-
Clona il repository
git clone https://github.com/rstarttt/risk_insight.git cd risk_insight -
Crea ambiente virtuale (altamente raccomandato)
# Crea ambiente virtuale python -m venv venv # Attivazione su Windows venv\Scripts\activate # Attivazione su macOS/Linux source venv/bin/activate
-
Installa dipendenze
pip install -r requirements.txt
-
Verifica installazione
streamlit --version
-
Avvia l'applicazione
streamlit run risk_dashboard.py
-
Accedi all'applicazione
- Apri il browser su
http://localhost:8501
- Apri il browser su
# Build dell'immagine docker build -t risk-dashboard . # Esecuzione del container docker run -p 8501:8501 risk-dashboardAl primo avvio, l'applicazione creerà automaticamente:
- File di configurazione
config.yaml - Database CSV
risk_data.csv - Directory per export
exports/
- Compila il form "Aggiungi Nuovo Rischio"
- Inserisci Descrizione dettagliata del rischio
- Seleziona Categoria dal menu dropdown
- Imposta Probabilità (1-5, incrementi 0.5)
- Imposta Impatto (1-5, incrementi 0.5)
- La Priorità viene calcolata automaticamente (Probabilità × Impatto)
- Clicca "Aggiungi Rischio"
- Utilizza la tabella interattiva per editing inline
- Doppio-click su cella per modificare valori
- Modifiche salvate automaticamente
- Seleziona checkbox "Elimina" nella tabella
- Conferma eliminazione nel popup
La heat map visualizza i rischi secondo il sistema di classificazione standard:
| Priorità | Range Valore | Colore | Descrizione |
|---|---|---|---|
| Bassa | 1.0 - 5.0 | 🟢 Verde | Rischi accettabili |
| Media | 5.5 - 10.0 | 🟡 Giallo | Rischi da monitorare |
| Alta | 10.5 - 15.0 | 🟠 Arancione | Rischi da mitigare |
| Estrema | 15.5 - 25.0 | 🔴 Rosso | Rischi critici |
- Report completo con heat map integrata
- Tabella rischi formattata
- Statistiche e metriche riassuntive
- Layout professionale per presentazioni
- Fogli multipli: Dati, Statistiche, Grafici
- Formattazione condizionale
- Grafici pivot integrati
- Compatibile con Excel 2016+
risk-assessment-dashboard/ ├── 📁 src/ │ ├── risk_dashboard.py # Applicazione principale Streamlit │ ├── utils/ │ │ ├── data_manager.py # Gestione persistenza dati │ │ ├── risk_calculator.py # Algoritmi calcolo rischio │ │ └── export_handler.py # Gestione export PDF/Excel │ └── components/ │ ├── heatmap.py # Componente heat map │ ├── data_table.py # Tabella interattiva │ └── forms.py # Form di input ├── 📁 data/ │ ├── risk_data.csv # Database principale │ └── config.yaml # Configurazioni ├── 📁 exports/ # Directory export generati ├── 📁 tests/ │ ├── test_risk_calculator.py # Test unità │ └── test_data_manager.py ├── 📁 docs/ # Documentazione ├── requirements.txt # Dipendenze Python ├── Dockerfile # Container Docker ├── .gitignore └── README.md - Frontend: Streamlit + AgGrid + Plotly
- Backend: Python + Pandas
- Export: ReportLab (PDF) + OpenPyXL (Excel)
- Styling: CSS Custom + Bootstrap
- Database: CSV (opzione upgrade a PostgreSQL/SQLite)
Il sistema utilizza la metodologia standard ISO 31000:2018:
Valore_Rischio = Probabilità × Impatto Priorità = funzione(Valore_Rischio)- 1.0: Molto improbabile (< 5%)
- 2.0: Improbabile (5-25%)
- 3.0: Possibile (25-50%)
- 4.0: Probabile (50-75%)
- 5.0: Molto probabile (> 75%)
- 1.0: Trascurabile
- 2.0: Minore
- 3.0: Moderato
- 4.0: Maggiore
- 5.0: Catastrofico
Nel file src/risk_dashboard.py, sezione CSS:
# Personalizza colore principale PRIMARY_COLOR = "#DC143C" # Crimson Red # Personalizza gradiente header HEADER_GRADIENT = "linear-gradient(135deg, #8B0000 0%, #DC143C 50%, #FF6347 100%)"Nel file src/utils/risk_calculator.py:
def calculate_priority_level(risk_value): """Personalizza soglie di priorità""" if risk_value >= 16: # Modifica soglia estrema return "Estrema" elif risk_value >= 11: # Modifica soglia alta return "Alta" elif risk_value >= 6: # Modifica soglia media return "Media" else: return "Bassa"Nel file data/config.yaml:
risk_categories: - "Tecnico" - "Finanziario" - "Operativo" - "Strategico" - "Compliance" - "La Tua Categoria" # Aggiungi qui# Test completi pytest tests/ -v # Test con coverage pytest tests/ --cov=src --cov-report=html # Test specifici pytest tests/test_risk_calculator.py -v# Load testing con dati di esempio python tests/performance_test.py --records=1000# Produzione locale streamlit run src/risk_dashboard.py --server.port=8501- Push su GitHub repository
- Connetti a Streamlit Cloud
- Deploy automatico da repository
# Build e deploy docker build -t risk-dashboard . docker run -d -p 8501:8501 --name risk-app risk-dashboard# Setup Heroku heroku create your-risk-dashboard git push heroku mainAccogliamo contributi dalla community!
- Fork il repository
- Crea branch feature (
git checkout -b feature/amazing-feature) - Commit modifiche (
git commit -m 'Add: amazing feature') - Push al branch (
git push origin feature/amazing-feature) - Apri Pull Request
- Segui PEP 8 per lo stile Python
- Aggiungi test per nuove funzionalità
- Aggiorna documentazione quando necessario
- Usa commit message descrittivi
Usa GitHub Issues con:
- Descrizione dettagliata del problema
- Steps per riprodurre
- Environment (OS, Python version, browser)
- Screenshot se applicabile
# Reinstalla dipendenze pip install -r requirements.txt --force-reinstall# Su Ubuntu/Debian sudo apt-get install python3-dev build-essential # Su macOS brew install cairo pango gdk-pixbuf libffi- Abilita caching in
config.yaml - Considera upgrade a database PostgreSQL
- Ottimizza filtri tabella
# Abilita debug mode streamlit run risk_dashboard.py --logger.level=debugQuesto progetto è distribuito sotto Licenza MIT. Vedi file LICENSE per dettagli completi.
MIT License - Copyright (c) 2025 rstarttt Permission is hereby granted, free of charge, to any person obtaining a copy... rstarttt
- 🐙 GitHub: @rstarttt
- 📧 Email: rstart@outlook.it
⭐ Se questo progetto ti è stato utile, lascia una stella su GitHub! ⭐
Risk Assessment Dashboard • Gestione Professionale dei Rischi di Progetto
Developed with ❤️ by rstarttt
