Quickstarters
CRUD Samples
Come Creare un'App CRUD con Elm?
35 min
panoramica in questo tutorial, imparerai come costruire un'applicazione crud completa (crea, leggi, aggiorna, elimina) utilizzando elm utilizzeremo back4app come nostro servizio backend per gestire i dati senza sforzo questa guida spiega come configurare un progetto back4app, progettare uno schema dati flessibile e integrare le operazioni crud in un'applicazione elm utilizzando chiamate api rest inizialmente, configurerai un progetto back4app, qui chiamato basic crud app elm , che fornisce un robusto database non relazionale progetterai il tuo modello di dati—manualmente o utilizzando l'intelligente agente ai di back4app successivamente, gestirai il tuo backend con l'app admin di back4app, che offre un'interfaccia intuitiva drag and drop per la manipolazione dei dati infine, collegherai la tua app elm a back4app effettuando richieste api restful garantendo operazioni sui dati sicure alla fine di questo tutorial, avrai un'applicazione elm pronta per la produzione che supporta le funzionalità crud di base e l'autenticazione sicura degli utenti informazioni essenziali impara a costruire un'applicazione elm crud abbinata a un backend non relazionale comprendi come strutturare un backend scalabile e collegarlo a un front end elm usa l'app admin di back4app per azioni di creazione, lettura, aggiornamento e cancellazione senza problemi esplora le opzioni di distribuzione, incluso docker, per lanciare la tua applicazione elm con facilità requisiti preliminari prima di iniziare, assicurati di avere un account back4app con un progetto configurato hai bisogno di aiuto? visita iniziare con back4app https //www back4app com/docs/get started/new parse app un ambiente di sviluppo elm installa elm e usa il tuo editor preferito familiarità con le basi di elm, programmazione funzionale e richieste http controlla il guida elm https //guide elm lang org/ se necessario passo 1 – inizializzare il tuo progetto creare un nuovo progetto back4app accedi al tuo account back4app clicca sul pulsante “nuova app” dalla tua dashboard nomina il tuo progetto basic crud app elm e segui le istruzioni per completare la configurazione crea nuovo progetto una volta che il tuo progetto è pronto, apparirà sulla tua dashboard, preparando il terreno per la configurazione del tuo backend passo 2 – creazione dello schema dei dati impostazione delle tue strutture dati per questa applicazione crud, creerai diverse collezioni (o classi) in back4app di seguito sono riportati esempi delle principali collezioni e dei loro campi per supportare le operazioni crud 1\ raccolta di articoli questa raccolta memorizza i dettagli su ogni voce campo tipo dettagli id objectid identificatore unico generato automaticamente titolo stringa nome dell'oggetto descrizione stringa breve descrizione dell'oggetto creatoil data timestamp che segna la creazione aggiornatoil data timestamp che segna l'ultimo aggiornamento 2\ raccolta utenti questa raccolta gestisce l'autenticazione degli utenti e le credenziali campo tipo dettagli id objectid identificatore unico generato automaticamente nome utente stringa nome utente unico per l'utente email stringa indirizzo email unico hashpassword stringa password crittografata per la sicurezza creatoil data timestamp per quando è stato creato l'account aggiornatoa data timestamp per l'ultimo aggiornamento dell'account puoi aggiungere queste collezioni e campi manualmente tramite la dashboard di back4app crea nuova classe puoi aggiungere campi selezionando il tipo appropriato, nominando il campo e specificando se è obbligatorio crea colonna utilizzare l'agente ai di back4app per la configurazione dello schema l'agente ai di back4app semplifica la creazione del tuo schema dati in base alla tua descrizione questo processo automatizzato garantisce che il tuo schema sia impostato per tutte le azioni crud necessarie per utilizzare l'agente ai accedi all'agente ai accedi al tuo dashboard di back4app e trova l'agente ai nelle impostazioni del tuo progetto dettaglia il tuo schema dati descrivi le collezioni e i campi di cui hai bisogno rivedi e conferma controlla lo schema proposto e approvalo per configurare il tuo backend esempio di richiesta create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) questo approccio intelligente fa risparmiare tempo e garantisce uno schema dati robusto e coerente passo 3 – attivazione dell'interfaccia admin e gestione delle operazioni crud introduzione all'interfaccia admin l'app admin di back4app ti offre un'interfaccia senza codice per gestire i tuoi dati di backend il suo design intuitivo ti consente di eseguire azioni crud come aggiungere, visualizzare, modificare ed eliminare record abilitare l'app admin vai al menu “altro” nella tua dashboard di back4app seleziona “app admin” e clicca su “abilita app admin ” crea il tuo account admin, che configurerà anche ruoli come b4aadminuser e collezioni di sistema abilita app admin una volta attivata, accedi all'app admin per gestire i tuoi dati dashboard app admin eseguire azioni crud nell'app admin all'interno dell'app admin, puoi inserisci record scegli “aggiungi record” in una collezione (ad es , articoli) per creare nuove voci ispeziona/modifica record clicca su qualsiasi record per visualizzare i dettagli o modificare i dati rimuovi record elimina voci che non sono più necessarie questa interfaccia facile da usare semplifica la gestione dei dati passo 4 – collegare la tua applicazione elm a back4app con il tuo backend configurato, è tempo di collegare la tua applicazione elm a back4app utilizzare le chiamate api rest in elm poiché elm non supporta un sdk parse dedicato, utilizzeremo le sue capacità http integrate per interagire con gli endpoint rest di back4app esempio recupero dati dalla collezione di oggetti di seguito è un esempio di modulo elm che utilizza il http pacchetto per recuperare un elenco di oggetti module items exposing (item, fetchitems, itemdecoder) import http import json decode as decode exposing (decoder) type alias item = { id string , title string , description string } itemdecoder decoder item itemdecoder = decode map3 item (decode field "objectid" decode string) (decode field "title" decode string) (decode field "description" decode string) fetchitems cmd msg fetchitems = http get { url = "https //parseapi back4app com/classes/items" , expect = http expectjson handleresponse (decode field "results" (decode list itemdecoder)) } handleresponse result http error (list item) > msg handleresponse result = \ map the http result to your application's message type debug todo "handle the response appropriately" esempio creazione di un nuovo oggetto puoi anche implementare richieste post in elm per aggiungere nuovi record createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" createitem string > string > cmd msg createitem title description = let body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } handlepostresponse result http error decode value > msg handlepostresponse result = debug todo "process the post response" ripeti schemi simili per le operazioni di aggiornamento e cancellazione utilizzando i metodi put e delete passo 5 – salvaguardare il tuo backend configurare i controlli di accesso (acl) proteggi i tuoi dati impostando acl sui tuoi oggetti ad esempio, per limitare un elemento al suo creatore, potresti usare \ in elm, you can add acl details to your json payload createprivateitem string > string > string > cmd msg createprivateitem title description ownerid = let acl = encode object \[ ( ownerid, encode object \[ ("read", encode bool true), ("write", encode bool true) ] ) , ( " ", encode object \[ ("read", encode bool false), ("write", encode bool false) ] ) ] body = http jsonbody <| encode object \[ ( "title", encode string title ) , ( "description", encode string description ) , ( "acl", acl ) ] in http post { url = "https //parseapi back4app com/classes/items" , body = body , expect = http expectjson handlepostresponse decode value } impostare permessi a livello di classe (clp) definisci i clp nel dashboard di back4app in modo che solo gli utenti autenticati possano accedere a collezioni specifiche passo 6 – implementare l'autenticazione degli utenti gestire gli account utente back4app sfrutta la collezione utente integrata per gestire l'autenticazione nella tua app elm, gestirai le registrazioni e i login tramite chiamate api rest esempio richiesta di registrazione utente signupuser string > string > string > cmd msg signupuser username password email = let body = http jsonbody <| encode object \[ ( "username", encode string username ) , ( "password", encode string password ) , ( "email", encode string email ) ] in http post { url = "https //parseapi back4app com/users" , body = body , expect = http expectjson handleauthresponse decode value } handleauthresponse result http error decode value > msg handleauthresponse result = debug todo "process the authentication response" segui un approccio simile per il login e la gestione delle sessioni passo 7 – distribuzione della tua applicazione elm back4app supporta una distribuzione senza soluzione di continuità puoi distribuire la tua applicazione elm utilizzando vari metodi, incluso docker 7 1 costruire la tua applicazione elm compila il tuo codice elm esegui il compilatore elm per generare javascript elm make src/main elm output=dist/main js prepara le tue risorse assicurati che i tuoi file javascript e html generati siano pronti per la distribuzione 7 2 organizzare la struttura del tuo progetto un layout tipico di un progetto elm potrebbe apparire così basic crud app elm/ \| src/ \| | main elm \| | api elm \| dist/ \| | index html \| | main js \| elm json \| package json \| dockerfile 7 3 dockerizzare la tua applicazione elm se stai containerizzando, aggiungi un dockerfile \# use a lightweight node image for serving static files from node 16 alpine \# set the working directory workdir /app \# copy compiled files copy dist/ /app/dist/ \# expose the desired port expose 8080 \# serve the static files using a simple server cmd \["npx", "http server", "dist", " p", "8080"] 7 4 distribuzione con il web deployment di back4app collega il tuo repository ospita il tuo progetto elm su github configura le impostazioni di distribuzione nel dashboard di back4app, scegli la web deployment funzione, collega il tuo repository (ad esempio, basic crud app elm ), e seleziona il branch desiderato imposta i comandi di build specifica il comando di build (ad esempio, elm make src/main elm output=dist/main js ) e la posizione dell'artifact distribuisci la tua app clicca su deploy e monitora i log fino a quando la tua app è attiva passo 8 – considerazioni finali e direzioni future congratulazioni! hai costruito un'applicazione crud basata su elm integrata con back4app hai impostato un progetto chiamato basic crud app elm , progettato collezioni per articoli e utenti, e gestito i dati tramite l'app di amministrazione di back4app inoltre, hai collegato la tua applicazione elm utilizzando chiamate api rest e implementato misure di sicurezza miglioramenti futuri espandi le funzionalità integra capacità di ricerca avanzate, viste dettagliate o aggiornamenti in tempo reale migliora le funzioni del backend sperimenta con funzioni cloud, integrazioni di terze parti o accesso basato su ruoli approfondisci le tue conoscenze visita la documentazione di back4app https //www back4app com/docs e altre risorse per perfezionare la tua app buon coding e divertiti a costruire con elm e back4app!