utente 9 HOOK Eseguire funzioni in risposta a eventi sul database Mutazioni Modifiche massive di database o collezioni Validazioni Validazione server-side del dato su specifici database, collezioni o entrambi
base al verificarsi di determinati eventi (insert/update,etc.). Si può anche modificare la visibilità dei dati per utenti, aggiungendo validazioni, modificando le risposte in base a parametri sull’utente Hooks Implementazione logica di business senza scrivere endpoint { “id”: “pippo” “nome”: “pluto” } { “id”: “pippo”, “nome”: “pluto”, “updatedOn”: “29/03/2023”, “updatedBy”: “Daniele” } crudit.hook( 'metadata', //nome events.beforeSave, //quando partire null,null, //limitazioni su database e/o collezioni async (database,db,collection,data,user,config) => { //funzione che modifica il dato data.updatedOn=new Date(); data.updatedBy=user.name; } ); Dato dal FE Dato inserito nel DB Hook prima del salvataggio
Regex per filtrare l’azione della mutazione La mutazione poi può essere scatenata, applicandola su specifici database, collezioni, corrispondenze con Regex o sull’intero progetto. Mutazioni Modifiche massive della struttura dati
la struttura dei dati, e questo formato viene imposto sui database e collezioni specificati nella definizione. Validazione Validate i dati al backend nel loro formato. crudit.configEntity('validateRecepies', { db: '', collection: 'recipes', validation: { title: 'required', harvesting_time: 'required', ….. }});
hostabile direttamente su qualunque ambiente Node.js (Vercel, Azure functions, Aws Lamda, Cloud functions, ecc…) senza bisogno di effort sistemistico (NoOPs). 14 Magia… e alcuni provider hanno free tier interessanti!
varie funzionalità di Crudit! I miei genitori hanno preso un orto. Non avendo esperienza hanno bisogno di un diario dove annotare tempistiche, note, appunti, ricette, ecc… riguardo alla coltivazione, pianta per pianta Crudit mi hanno permesso di ottenere un backend funzionante in pochissime ore, mantenendo multitenancy e le performance necessarie.
recenti framework Javascript Fullstack (es: Next, Nuxt, Remix, Svelvekit, ecc…) e deve implementare un collegamento col database. • Progetti Node.js con MongoDB o similari • Chi non necessita e non vuole mantenere infrastrutture complesse, e programma soprattutto in Javascript • Per progetti amatoriali/esplorativi, azzerando i costi sfruttando i free tier.
sui file multimediali in quando (per ora) Crudit supporta solo documenti. • Necessità di interfacce grafiche per la gestione del backend. • Business Logic Complesse. • Progetti che richiedono logica 3Tier (separazione tra logica di Business e Dati) • Gestione dati fortemente relazionati perchè Crudit supporta solo database documentali
file YAML oppure JSON. • Supporto al salvataggio di assets multimediali senza dover creare una request specifica. • Stelle su GITHUB https://github.com/zeppaman/crudit • ….. Proposte e PR sono aperte!