Monolith Refactoring (#119)
Major codebase restructuring for better maintainability:
Frontend
- Extracted 9 JavaScript modules from
index.html(7,947 → 2,435 lines, -69%)chart-engine.js,correlation.js,journal.js,bqm.js,speedtest.js,events.js,trends.js,channels.js,integrations.js,utils.js
- Made translations variable
Tglobal (#116)
Backend
- Split
web.pyinto 9 Flask Blueprints (2,741 → 646 lines, -76%)config_bp,polling_bp,data_bp,analysis_bp,journal_bp,integrations_bp,events_bp,backup_bp,reports_bp
- Split
storage.pyinto 10 Mixin classes (1,648 lines → 12 files)StorageBase+SnapshotMixin,BqmMixin,SpeedtestMixin,WeatherMixin,JournalMixin,EventMixin,BnetzMixin,AnalysisMixin,TokenMixin,CleanupMixin
Event System Improvements
- Event type filter for Correlation Analysis with badge counts and popover (#117)
- Hide operational events toggle in Event Log (#118)
- Fixed popover click propagation in correlation chart