Open source: strumenti nati da problemi reali
Ogni pacchetto qui, quasi tutti per Laravel, è nato allo stesso modo: mi serviva qualcosa, l'avevo già usato in almeno due posti, non esisteva, quindi l'ho costruito. Poi l'ho rilasciato perché probabilmente qualcun altro aveva lo stesso problema.
Di Daniele Barbaro, Tech Lead e Software Engineer. Ultimo aggiornamento .
In numeri
I conteggi sono letti da Packagist quando il sito viene costruito, con la data della lettura. Non li scrivo mai a mano.
- download in totale
- 515.019
- download al mese
- 24.052
- pacchetti su Packagist
- 22
Letto da Packagist il 19 ottobre 2026.Il mio profilo Packagist (si apre in una nuova scheda)
Pacchetti principali
Quelli che si installano di più, in ordine di download.
laravel-vat-eu-validator
492.636 download · 44 stelle su GitHub
Un pacchetto semplice che valida le partite IVA UE sul database centrale ec.europa.eu.
laravel-istat-geography
9.477 download · 13 stelle su GitHub
Pacchetto Laravel per importare e gestire i dati geografici italiani dell'ISTAT.
laravel-clean-architecture
4.220 download · 19 stelle su GitHub
Pacchetto Laravel per generare la struttura della Clean Architecture.
kml-parser
3.830 download · 3 stelle su GitHub
Un pacchetto Laravel per leggere file KML e KMZ.
laravel-istat-foreign-countries
2.523 download · 3 stelle su GitHub
Pacchetto Laravel per importare e gestire i dati dei paesi esteri dell'ISTAT.
laravel-email-fixer
526 download · 6 stelle su GitHub
Sanifica, normalizza e corregge in automatico gli indirizzi email malformati prima della validazione.
Campi personalizzati: tre pacchetti nati insieme
Un prodotto deve lasciar aggiungere campi ai propri record a runtime, senza migrazioni: un CRM, un catalogo, una cartella clinica. laravel-custom-fields (si apre in una nuova scheda) è quello strato: il prodotto definisce i campi, gli utenti li compilano, ogni valore finisce in una colonna tipizzata, validato, e arriva alla richiesta HTTP come filtro e come ordinamento. Dodici tipi inclusi, headless: niente controller, rotte o UI. PHP 8.4, Laravel 12 e 13.
Sotto, due pacchetti che vivono anche da soli. laravel-eloquent-sorts (si apre in una nuova scheda) ordina per colonna di una relazione, per conteggio o per ordine custom di un enum, con adapter per spatie/laravel-query-builder; i campi personalizzati si appoggiano a lui per l'ordinamento. laravel-sql-dialect (si apre in una nuova scheda) nasconde le differenze tra PostgreSQL, MySQL e SQLite su LIKE, anno di una data e liste di valori. Usciti tutti e tre lo stesso giorno, a settembre 2026, dallo stesso progetto.
Job board: sette connettori ATS su un nucleo condiviso
ekswai (si apre in una nuova scheda) parla con diverse API di job board, quindi ogni integrazione vive nel suo pacchetto. Ognuno è un piccolo client PSR-18 che riporta le stranezze di ogni provider allo stesso DTO, e funziona su Laravel, Symfony o PHP puro. Licenza MIT, ancora in versione iniziale (v0.1.x), nati dalle esigenze reali di ekswai: sei sono già in produzione lì.
job-boards-core (si apre in una nuova scheda) contiene il contratto condiviso, il DTO e un piccolo helper HTTP PSR-18 su cui si basano i connettori. Ti manca un job board che ti serve? job-boards-skeleton (si apre in una nuova scheda) è un repository template: clonalo, rinominalo, implementa l'interfaccia, fatto. I contributi sono benvenuti, soprattutto nuovi connettori.
- job-boards-core (si apre in una nuova scheda)53 download
- job-boards-lever (si apre in una nuova scheda)32 download
- job-boards-ashby (si apre in una nuova scheda)31 download
- job-boards-personio (si apre in una nuova scheda)31 download
- job-boards-smartrecruiters (si apre in una nuova scheda)31 download
- job-boards-workable (si apre in una nuova scheda)31 download
- job-boards-greenhouse (si apre in una nuova scheda)30 download
- job-boards-bamboohr (si apre in una nuova scheda)1 download
Altri pacchetti
Quelli più piccoli, tutti su Packagist.
- laravel-full-name (si apre in una nuova scheda)258 download
- laravel-name-fixer (si apre in una nuova scheda)29 download
- laravel-platform-authorizer (si apre in una nuova scheda)7 download
- laravel-instagram-digest (si apre in una nuova scheda)1 download
- laravel-forge-domain (si apre in una nuova scheda)0 download
Da dove nascono
Alcuni di questi pacchetti hanno una storia, ed è sempre un problema incontrato su un progetto vero.
Validazione IVA UE, fatta bene
Validare i numeri di partita IVA europei significa interrogare il database VIES della Commissione Europea. Il servizio è inaffidabile, le risposte sono incoerenti e integrarlo correttamente in Laravel richiede più codice del necessario. laravel-vat-eu-validator (si apre in una nuova scheda) gestisce tutto questo in modo pulito. Dopo 492K+ installazioni, funziona ancora.
L'ecosistema dei dati italiani
Chiunque abbia lavorato con dati geografici italiani conosce la sfida: regioni, province e comuni cambiano nel tempo, i codici devono corrispondere agli standard ufficiali ISTAT e i dati sono sparsi tra fonti governative non pensate per gli sviluppatori.
laravel-istat-geography (si apre in una nuova scheda) (9K+ download) fornisce i dati ISTAT completi per Laravel: regioni, province, comuni con i relativi codici ufficiali e relazioni. Il suo complemento, laravel-istat-foreign-countries (si apre in una nuova scheda) (2K+ download), fa lo stesso per i paesi esteri secondo la classificazione ISTAT.
Poi c'è laravel-email-fixer (si apre in una nuova scheda). Gli utenti italiani commettono errori di battitura prevedibili nelle email: gmail.it invece di gmail.com, hotamil.com, libero.t. Il pacchetto sanifica, normalizza e corregge automaticamente gli indirizzi email malformati prima della validazione. Un piccolo dettaglio che evita molte email respinte.
Strumenti per sviluppatori
laravel-clean-architecture (si apre in una nuova scheda) (4K+ download) genera una struttura di dominio completa con un singolo comando Artisan. Actions, Services, Controllers, Models, separazione dei livelli, validazione delle dipendenze. Per chi vuole la Clean Architecture in Laravel senza il boilerplate.
commit-timesheet-generator (si apre in una nuova scheda) è nato da un'esigenza concreta: generare report per clienti che non hanno idea di quanto lavoro ci sia dietro un progetto. Prende la cronologia dei commit Git e la trasforma in un timesheet professionale. Semplice, efficace, evita discussioni.
Side project
ekswai (si apre in una nuova scheda) è un aggregatore di offerte di lavoro che raccoglie dati da Workable, Lever, Ashby, Greenhouse, Personio e SmartRecruiters tramite i connettori descritti sopra, più i suoi scraper dedicati per Teamtailor e Factorial, e invia una notifica ogni volta che compare una nuova posizione. È nato dalla pigrizia, che è la mia caratteristica migliore: mi spinge a costruire strumenti che fanno le cose al posto mio, o almeno me le ricordano. Puoi forkarlo, aggiungere provider, oppure usarlo così com'è.
suggest-me-a-trip (si apre in una nuova scheda) genera itinerari di viaggio personalizzati con più tappe usando Google Maps e la formula di Haversine. Insieme a van-travel-subscribers (si apre in una nuova scheda), forma un sistema completo: una landing page per raccogliere iscritti e una CLI per generare e inviare gli itinerari.
PHPVector e community
Il mio amico Enrico Zimuel (si apre in una nuova scheda) mi ha convinto a studiare seriamente la matematica vettoriale e le ottimizzazioni delle prestazioni. Questo mi ha portato a contribuire a PHPVector (si apre in una nuova scheda), un database vettoriale in puro PHP con algoritmi HNSW (si apre in una nuova scheda) e BM25 (si apre in una nuova scheda). Sono maintainer e contributore principale del progetto, e spingo i limiti di ciò che PHP può fare nel calcolo numerico.
Lavorare su PHPVector è una sfida ingegneristica diversa. Niente CRUD, niente web framework. Algoritmi, layout di memoria, ottimizzazione delle prestazioni in ogni operazione. Il tipo di lavoro tecnico approfondito che ti rende un ingegnere migliore in ogni ambito.
Cosa significa per i clienti
Quando lavori con me, lavori con un ingegnere che capisce il software da entrambi i lati: come utilizzatore di librerie e come maintainer responsabile di codice da cui altri dipendono. Sono attento nell'introdurre dipendenze, scrivo codice pensato per durare e documento decisioni e casi limite.
Lavorare con me
Se hai bisogno di aiuto con sistemi Laravel o Symfony, che si tratti di stabilizzare un MVP, portare un fractional tech lead, oppure lavorare insieme a un progetto specifico, scrivimi.