REST API

MailScheduler.API

Archiviato ProfessionaleGitHub

Un servizio che manda email quando è ora: si dichiara destinatari, testo e cadenza, e lui tiene il conto di cosa parte e quando.

La persistenza su file è una scelta di misura. Un server di database sarebbe stato un pezzo di infrastruttura in più da installare, aggiornare e sorvegliare, per un servizio che conserva qualche decina di righe che cambiano di rado.

Lo stato del job sta accanto alla pianificazione, non in un registro a parte: l'elenco dice a colpo d'occhio cosa è attivo e cosa è fermo, e fermare un invio non richiede di cancellarlo.

mag 2022primo commit
5rotte REST
1risorsa gestita

Interfaccia

Rotte
elenco, dettaglio, creazione, modifica, cancellazione delle pianificazioni
Descrizione
OpenAPI, navigabile via Swagger
Forma di una voce
destinatari diretti, in copia e in copia nascosta, oggetto, corpo, job
Job
espressione cron e stato: attivo o fermo, modificabile senza fermare il servizio

Piattaforma

Runtime
Node.js con TypeScript
Persistenza
su file: le pianificazioni sono poche e cambiano di rado
Invio
nodemailer, con i parametri del server in file separati per ambiente
Registro
logging strutturato, con formato e destinazione configurabili

Accesso

In produzione
autenticazione di base su tutte le rotte
In sviluppo
disattivata, per non intralciare le prove
Stato
archiviato; codice su GitHub sotto licenza MIT

Stack

Tecnologie
Node.jsTypeScript