52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
# Implementazione Modulo Comunicazioni (Ex Email Standard)
|
|
|
|
## Obiettivo
|
|
Implementare il modulo **Comunicazioni** (`communications`), inizialmente focalizzato sulla gestione centralizzata dell'invio email (SMTP).
|
|
Questo modulo servirà da fondamento per tutte le comunicazioni in uscita (e in futuro interne) del gestionale.
|
|
|
|
## Strategia
|
|
Il modulo gestirà sia l'infrastruttura tecnica (Service Layer per invio mail) sia l'interfaccia utente per la configurazione e il monitoraggio (Log).
|
|
Sarà allineato alla visione del modulo "Comunicazioni" (Gestione invio mail, chat interna, ecc.).
|
|
|
|
## Piano di Lavoro
|
|
|
|
### 1. Documentazione
|
|
- [x] Aggiornamento piano di lavoro (questo file).
|
|
- [x] Aggiornamento `ZENTRAL.md`.
|
|
|
|
### 2. Backend (.NET)
|
|
#### Domain Layer (`Zentral.Domain`)
|
|
- [x] **Interfaccia `IEmailSender`**: Contratto standard per l'invio.
|
|
- [x] **Entities (Namespace `Communications`)**:
|
|
- `EmailLog`: Storico invii (`Id`, `Data`, `Mittente`, `Destinatario`, `Oggetto`, `Stato`, `Errore`).
|
|
- `EmailTemplate` (Opzionale Fase 1): Per standardizzare il layout delle mail.
|
|
|
|
#### Infrastructure Layer (`Zentral.Infrastructure`)
|
|
- [x] **Implementazione `SmtpEmailSender`**:
|
|
- Logica di invio tramite MailKit.
|
|
- Integrazione con `Configurazione` per leggere le credenziali SMTP a runtime.
|
|
- Salvataggio automatico del log in `EmailLog`.
|
|
|
|
#### API Layer (`Zentral.API`)
|
|
- [x] **Controller `CommunicationsController`**:
|
|
- Endpoint per test invio.
|
|
- Endpoint per consultazione Logs.
|
|
- Endpoint per salvataggio Configurazione SMTP.
|
|
|
|
### 3. Frontend (React)
|
|
#### Modulo `communications` (`src/apps/communications`)
|
|
- [x] **Setup App**: Creazione struttura standard modulo.
|
|
- [x] **Settings Page**:
|
|
- Form per configurazione SMTP (Host, Port, User, Pass, SSL).
|
|
- Pulsante "Test Connessione".
|
|
- [x] **Logs Page**:
|
|
- Tabella visualizzazione storico email inviate con stato (Successo/Errore).
|
|
|
|
## Integrazione
|
|
- Il servizio `IEmailSender` sarà iniettato negli altri moduli (es. Safety) per l'invio delle notifiche.
|
|
|
|
## Verifica
|
|
- [ ] Configurazione SMTP (es. Mailtrap).
|
|
- [ ] Test invio mail da interfaccia.
|
|
- [ ] Verifica scrittura Log su DB.
|