Portfolio
Fatturazione Italia
SaaS di fatturazione elettronica per forfettari, con integrazione SDI Agenzia Entrate e Sistema Tessera Sanitaria.
Cosa ho fatto
- 01 Per il database ho scelto SQLite (in modalità WAL) invece di MySQL o PostgreSQL. SQLite è un file singolo: tutti i dati ci stanno dentro. Spostare il SaaS da un hosting a un altro vuol dire copiare quel file, senza dover installare e configurare un database server. La modalità WAL serve a permettere scritture in parallelo senza bloccare le letture, che è il vincolo principale di SQLite in produzione.
- 02 L'integrazione con il Sistema di Interscambio (SDI) dell'Agenzia delle Entrate è la parte più rischiosa: usa protocolli SOAP vecchi, certificati di firma e formati XML molto rigidi. Invece di scrivere io questo pezzo ho usato OpenAPI.it come intermediario, che espone un'API REST moderna e si occupa di aggiornare il proprio client quando l'Agenzia cambia i requisiti. Sistema TS aggiunge il flusso parallelo per medici e altri professionisti sanitari.
- 03 Per far comprare i pacchetti fatture uso Stripe Checkout, cioè la pagina di pagamento ospitata da Stripe. I dati della carta non passano mai dal mio server (zero adempimenti PCI da gestire), le ricevute partono in automatico, la pagina è già tradotta in italiano. Stesso ragionamento per le email di notifica (PHPMailer) e per la versione installabile su mobile (PWA): preferisco strumenti maturi che fanno bene una cosa sola, invece di scriverli io e doverli mantenere.
- 04 Sul frontend niente React o Vue: Bootstrap 5 e JavaScript vanilla. Le pagine vengono generate dal server già pronte; l'utente clicca, il server risponde con la nuova pagina. Non c'è uno strato di JavaScript che deve ricostruire l'interfaccia nel browser, quindi non c'è bisogno di compilare niente prima di pubblicare. In pratica: deploy = carico i file PHP sul server, fine.
Prossimo progetto
CAF Centro Fiscale Udine (Portale pratiche)
Portale clienti per la gestione di pratiche fiscali (ISEE, 730, patronato).