Skip to content

Latest commit

Β 

History

History
103 lines (81 loc) Β· 3.76 KB

File metadata and controls

103 lines (81 loc) Β· 3.76 KB

πŸ“š Formazing - Documentazione

Sistema di notifiche automatiche per formazioni aziendali tramite Telegram Bot

πŸ“‹ Indice Documentazione

πŸ—οΈ Architettura del Sistema

πŸ“š Guide Specializzate

  • πŸ“Š Servizi Core - Logica di business e orchestrazione (da documentare)
  • βš™οΈ Configurazione - Setup ambiente, deployment, variabili (da documentare)
  • πŸ”§ API Reference - Endpoints Flask, parametri, esempi (da documentare)

🎯 Quick Start

Panoramica del Sistema

Formazing Γ¨ un sistema automatizzato che:

  1. Recupera informazioni su formazioni aziendali da Notion
  2. Formatta i dati secondo template configurabili
  3. Invia notifiche automatiche via Telegram ai gruppi appropriati
  4. Calendarizza eventi e invia email tramite Microsoft Graph API
  5. Gestisce comandi interattivi per consultazioni manuali

πŸ—οΈ Architettura High-Level

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
Loading

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:

  1. NotionService recupera formazioni dal database Notion
  2. Flask orchestra il workflow e gestisce la web UI con Jinja
  3. MicrosoftService crea eventi Teams e invia email via Graph API
  4. TelegramService formatta e invia notifiche usando configurazioni YAML/JSON

πŸ“Š Stack Tecnologico

πŸ”§ Backend Core

  • 🐍 Python 3.9+ - Linguaggio principale
  • 🌐 Flask - Web framework per dashboard e API
  • 🎨 Jinja2 - Template engine per UI web
  • πŸ”— Notion SDK - Integrazione database formazioni

πŸ€– Integrazione Bot & Notifiche

  • πŸ“± python-telegram-bot - SDK Telegram Bot API
  • πŸ“§ Microsoft Graph API - Email e calendari Outlook/Teams
  • πŸ“ PyYAML - Template messaggi e configurazioni gruppi

πŸ§ͺ Quality & Testing

  • 🎯 pytest - Framework testing principale
  • πŸ”§ Fixture modulari - 39 fixture specializzate per testing
  • ⚑ Quick test scripts - Automazione testing Windows/Linux