Sistema di notifiche automatiche per formazioni aziendali tramite Telegram Bot
- π€ Bot Telegram - Sistema bot, comandi, formattazione messaggi
- π Servizio Notion - Architettura modulare per integrazione Notion API
- π· Servizio Microsoft - Integrazione Microsoft Graph API, Teams e calendario
- π§ͺ Testing & Quality - Sistema di test completo, fixture e validazione qualitΓ
- π Templates - Guida all'UI dell'applicazione
- π Servizi Core - Logica di business e orchestrazione (da documentare)
- βοΈ Configurazione - Setup ambiente, deployment, variabili (da documentare)
- π§ API Reference - Endpoints Flask, parametri, esempi (da documentare)
Formazing Γ¨ un sistema automatizzato che:
- Recupera informazioni su formazioni aziendali da Notion
- Formatta i dati secondo template configurabili
- Invia notifiche automatiche via Telegram ai gruppi appropriati
- Calendarizza eventi e invia email tramite Microsoft Graph API
- Gestisce comandi interattivi per consultazioni manuali
graph TB
%% Database e API esterne
NotionDB[(Notion Database<br/>Formazioni)]
MSGraph[Microsoft Graph API<br/>Email + Teams]
TelegramAPI[Telegram Bot API]
%% Core Backend
Flask[Flask Backend<br/>routes.py]
NotionService[NotionService<br/>5 moduli]
MicrosoftService[MicrosoftService<br/>3 moduli]
TelegramService[TelegramService<br/>Bot + Commands]
%% Configurazioni
Config[Configurazioni<br/>YAML + JSON]
Templates[Jinja Templates<br/>UI + Web]
%% Flusso principale
NotionDB --> NotionService
NotionService --> Flask
Flask --> TelegramService
Flask --> MicrosoftService
TelegramService --> TelegramAPI
MicrosoftService --> MSGraph
%% Configurazioni e UI
Config --> TelegramService
Config --> MicrosoftService
Templates --> Flask
%% Styling
classDef external fill:#e1f5fe
classDef core fill:#f3e5f5
classDef config fill:#fff3e0
class NotionDB,MSGraph,TelegramAPI external
class Flask,NotionService,TelegramService core
class Config,Templates config
Componenti Principali:
- π΅ Servizi Esterni: Notion (database), Microsoft Graph (email/Teams), Telegram Bot API
- π£ Core Backend: Flask (orchestratore), NotionService (5 moduli), MicrosoftService (3 moduli), TelegramService (bot + comandi)
- π Configurazione & UI: File YAML/JSON (gruppi + template messaggi), Jinja Templates (web UI)
Flusso Dati:
- NotionService recupera formazioni dal database Notion
- Flask orchestra il workflow e gestisce la web UI con Jinja
- MicrosoftService crea eventi Teams e invia email via Graph API
- TelegramService formatta e invia notifiche usando configurazioni YAML/JSON
- π Python 3.9+ - Linguaggio principale
- π Flask - Web framework per dashboard e API
- π¨ Jinja2 - Template engine per UI web
- π Notion SDK - Integrazione database formazioni
- π± python-telegram-bot - SDK Telegram Bot API
- π§ Microsoft Graph API - Email e calendari Outlook/Teams
- π PyYAML - Template messaggi e configurazioni gruppi
- π― pytest - Framework testing principale
- π§ Fixture modulari - 39 fixture specializzate per testing
- β‘ Quick test scripts - Automazione testing Windows/Linux