Quickstarters
CRUD Samples
Building a Basic CRUD Application with Lit?
43 min
panoramica in questa guida, creerai un'applicazione crud (crea, leggi, aggiorna, elimina) completamente funzionante utilizzando lit dimostreremo come gestire i dati in modo dinamico costruendo un'applicazione che esegue queste operazioni essenziali inizialmente, configurerai un progetto back4app chiamato basic crud app lit che funge da robusto backend dopo aver stabilito il tuo progetto, progetterai uno schema di database flessibile definendo collezioni e campi, sia manualmente che con l'aiuto dell'agente ai di back4app questo passaggio è cruciale per garantire che il tuo sistema gestisca in modo affidabile le operazioni crud successivamente, utilizzerai l'app admin di back4app—un'interfaccia intuitiva e drag and drop—per gestire le tue collezioni in modo efficiente infine, integrerai il tuo frontend lit con back4app utilizzando rest/graphql, assicurandoti che il tuo backend rimanga sicuro con controlli di accesso appropriati entro la fine di questo tutorial, avrai un'applicazione web pronta per la produzione che non solo esegue funzioni crud di base, ma include anche l'autenticazione degli utenti e la gestione sicura dei dati punti chiave padroneggia lo sviluppo di applicazioni crud che gestiscono efficacemente i dati con un backend affidabile impara a progettare un database scalabile e integrarlo senza problemi con un frontend basato su lit utilizza uno strumento di amministrazione drag and drop (l'app back4app admin) per semplificare le operazioni crud comprendi le strategie di distribuzione, inclusa la containerizzazione con docker, per lanciare la tua applicazione web in modo efficiente requisiti prima di iniziare, assicurati di avere un account back4app con un nuovo progetto per assistenza, consulta iniziare con back4app https //www back4app com/docs/get started/new parse app un ambiente di sviluppo lit configura il tuo progetto utilizzando il tuo kit di avvio preferito e assicurati che node js (v14 o successivo) sia installato conoscenze di base di javascript, lit e rest api consulta la documentazione di lit https //lit dev/docs/ se necessario passo 1 – inizializzare il tuo progetto stabilire un nuovo progetto back4app accedi al tuo account back4app seleziona l'opzione “nuova app” dalla tua dashboard nomina il tuo progetto basic crud app lit e segui le istruzioni per crearlo crea nuovo progetto una volta creato il tuo progetto, apparirà sulla dashboard, fornendoti la base per la configurazione del backend e la gestione del progetto passo 2 – creazione del tuo schema di database costruzione del tuo modello dati per questa applicazione crud, definirai diverse collezioni di seguito sono riportate collezioni di esempio con campi e tipi di dati suggeriti, che ti aiuteranno a impostare uno schema efficace in grado di gestire le operazioni crud 1\ raccolta di articoli campo tipo di dato dettagli id objectid chiave primaria generata automaticamente titolo stringa nome dell'oggetto descrizione stringa brevi dettagli sull'oggetto creato il data timestamp quando l'elemento è stato creato aggiornato a data timestamp dell'ultima modifica dell'elemento 2\ raccolta utenti campo tipo di dato dettagli id objectid chiave primaria generata automaticamente nome utente stringa identificatore unico per l'utente email stringa indirizzo email unico dell'utente hash password stringa password hashata per un'autenticazione sicura creato il data timestamp per la creazione dell'account aggiornato a data timestamp per l'ultimo aggiornamento dell'account puoi aggiungere queste collezioni manualmente tramite il dashboard di back4app creando nuove classi e definendo le colonne appropriate crea nuova classe per ogni campo, basta scegliere un tipo di dato, assegnare un nome, impostare un valore predefinito se necessario e specificare se è obbligatorio crea colonna utilizzare l'agente ai di back4app per la creazione dello schema l'agente ai di back4app, disponibile dalla tua dashboard, può generare automaticamente il tuo schema basato su un prompt descrittivo questa funzione semplifica la gestione del progetto garantendo coerenza nella configurazione del backend come utilizzare l'agente ai avvia l'agente ai naviga verso l'agente ai dalla tua dashboard di back4app o all'interno delle impostazioni del progetto dettaglia il tuo modello di dati incolla un prompt completo che descriva le collezioni e i campi di cui hai bisogno esamina e applica controlla le suggerimenti generati e confermali per aggiornare il tuo progetto esempio di prompt create the following collections in my back4app application 1\) collection items \ fields \ id objectid (auto generated primary key) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated primary key) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) utilizzare questa funzione ai fa risparmiare tempo prezioso garantendo che il tuo database sia strutturato in modo ottimale passo 3 – attivazione dell'app admin e funzionalità crud introduzione all'app admin l'app admin di back4app offre un'interfaccia senza codice per una gestione dei dati di backend senza sforzo la sua funzionalità intuitiva di trascinamento e rilascio ti consente di eseguire operazioni crud—creare, leggere, aggiornare e eliminare record—con facilità come abilitare l'app admin accedi alla sezione “altro” nel tuo dashboard di back4app seleziona “app admin” e clicca su “abilita app admin ” configura le tue credenziali admin creando un utente admin iniziale, che configurerà i ruoli (come b4aadminuser ) e le collezioni di sistema abilita l'app admin dopo l'attivazione, accedi all'app admin per gestire le tue collezioni dashboard dell'app admin eseguire operazioni crud tramite l'app admin all'interno dell'app admin, puoi creare voci clicca sul pulsante “aggiungi record” all'interno di una collezione (ad es , articoli) per generare nuove voci leggere/modificare record clicca su un record per ispezionare i suoi dettagli o modificare i suoi campi rimuovere record usa la funzione di eliminazione per eliminare voci che non sono più necessarie questa interfaccia semplice migliora significativamente l'esperienza dell'utente semplificando la gestione dei dati passo 4 – collegare lit con back4app ora che il tuo backend è configurato e gestito, è tempo di integrare il tuo frontend lit con back4app opzione a utilizzare il parse sdk (quando applicabile) installa il parse sdk npm install parse configura parse nella tua app lit crea un file di configurazione (ad esempio, src/parseconfig js ) // src/parseconfig js import parse from 'parse'; // inserisci qui le tue credenziali back4app parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; implementa parse in un componente lit crea un componente lit che recupera e visualizza gli elementi // src/components/itemslist js import { litelement, html, css } from 'lit'; import parse from ' /parseconfig'; class itemslist extends litelement { static properties = { items { type array } }; constructor() { super(); this items = \[]; } connectedcallback() { super connectedcallback(); this fetchitems(); } async fetchitems() { const items = parse object extend("items"); const query = new parse query(items); try { const results = await query find(); this items = results; } catch (error) { console error("errore durante il recupero degli elementi ", error); } } render() { return html` \<h2>elementi\</h2> \<ul> ${this items map( (item) => html` \<li>${item get("title")} — ${item get("description")}\</li> ` )} \</ul> `; } } customelements define('items list', itemslist); export default itemslist; opzione b utilizzare rest o graphql se il parse sdk non è adatto per il tuo progetto, esegui operazioni crud utilizzando rest o graphql ad esempio, per recuperare elementi tramite rest // example rest request to get items const fetchitems = async () => { try { const response = await fetch('https //parseapi back4app com/classes/items', { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); const data = await response json(); console log('items retrieved ', data results); } catch (error) { console error('error fetching items ', error); } }; fetchitems(); integra queste chiamate api all'interno dei tuoi componenti lit secondo necessità passo 5 – proteggere il tuo backend implementazione delle liste di controllo degli accessi (acl) proteggi i tuoi oggetti impostando le acl ad esempio, per creare un elemento privato async function createprivateitem(itemdata, owneruser) { const items = parse object extend('items'); const item = new items(); item set('title', itemdata title); item set('description', itemdata description); // set acl so only the owner has access const acl = new parse acl(owneruser); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { const saveditem = await item save(); console log('private item created ', saveditem); } catch (error) { console error('error saving item ', error); } } configurazione dei permessi a livello di classe (clp) all'interno del dashboard di back4app, regola i clp per ogni collezione per applicare le regole di accesso predefinite questo assicura che solo gli utenti autenticati o autorizzati possano accedere a informazioni sensibili passo 6 – implementazione dell'autenticazione utente creazione di account utente back4app utilizza la classe user di parse per gestire l'autenticazione nella tua applicazione lit, implementa la registrazione e il login degli utenti come dimostrato di seguito // src/components/auth js import { litelement, html, css } from 'lit'; import parse from ' /parseconfig'; class signupform extends litelement { static properties = { username { type string }, password { type string }, email { type string } }; constructor() { super(); this username = ''; this password = ''; this email = ''; } async handlesignup(e) { e preventdefault(); const user = new parse user(); user set('username', this username); user set('password', this password); user set('email', this email); try { await user signup(); alert('user registration successful!'); } catch (error) { alert('registration error ' + error message); } } render() { return html` \<form @submit="${this handlesignup}"> \<input type="text" placeholder="username" value="${this username}" @input="${e => this username = e target value}" /> \<input type="password" placeholder="password" value="${this password}" @input="${e => this password = e target value}" /> \<input type="email" placeholder="email" value="${this email}" @input="${e => this email = e target value}" /> \<button type="submit">register\</button> \</form> `; } } customelements define('sign up form', signupform); export default signupform; puoi implementare in modo simile il login e la gestione delle sessioni funzionalità aggiuntive come l'autenticazione sociale, la verifica dell'email e il ripristino della password possono essere configurate tramite il dashboard di back4app passo 7 – distribuire il tuo frontend lit tramite distribuzione web la funzione di distribuzione web di back4app ti consente di ospitare la tua applicazione lit distribuendo il codice da un repository github segui questi passaggi per preparare la tua build di produzione, caricare il tuo codice su github e distribuire il tuo sito 7 1 creare la tua build di produzione apri la directory del tuo progetto in un terminale esegui il comando di build npm run build questo creerà una build cartella contenente asset statici ottimizzati controlla la build conferma che la build cartella includa un index html file insieme alle necessarie sottodirectory 7 2 organizzare e caricare il tuo codice il tuo repository github dovrebbe contenere il codice sorgente completo per il tuo frontend lit una struttura di progetto tipica potrebbe apparire così basic crud app lit frontend/ ├── node modules/ ├── public/ │ └── index html ├── src/ │ ├── app js │ ├── parseconfig js │ └── components/ │ ├── itemslist js │ └── auth js ├── package json └── readme md esempio di file di configurazione src/parseconfig js import parse from 'parse'; // insert your actual back4app credentials here parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; esempio di file principale dell'applicazione src/app js import { litelement, html } from 'lit'; import parse from ' /parseconfig'; class approot extends litelement { static properties = { items { type array }, newtitle { type string }, newdescription { type string } }; constructor() { super(); this items = \[]; this newtitle = ''; this newdescription = ''; } connectedcallback() { super connectedcallback(); this loaditems(); } async loaditems() { const items = parse object extend("items"); const query = new parse query(items); try { const results = await query find(); this items = results; } catch (error) { console error("failed to load items ", error); } } async additem() { const items = parse object extend("items"); const item = new items(); item set("title", this newtitle); item set("description", this newdescription); try { await item save(); this newtitle = ''; this newdescription = ''; this loaditems(); } catch (error) { console error("error adding item ", error); } } render() { return html` \<div style="padding 2rem;"> \<h1>items\</h1> \<div> \<input type="text" placeholder="title" value="${this newtitle}" @input="${e => this newtitle = e target value}" /> \<input type="text" placeholder="description" value="${this newdescription}" @input="${e => this newdescription = e target value}" /> \<button @click="${this additem}">add item\</button> \</div> \<ul> ${this items map(item => html` \<li> \<strong>${item get("title")}\</strong> ${item get("description")} \</li> `)} \</ul> \</div> `; } } customelements define('app root', approot); export default approot; caricare codice su github inizializza git nella directory del tuo progetto git init aggiungi tutti i tuoi file git add esegui il commit delle tue modifiche git commit m "commit iniziale del frontend lit" crea un nuovo repository su github (ad esempio, basic crud app lit frontend ) invia il tuo codice git remote add origin https //github com/your username/basic crud app lit frontend git git push u origin main 7 3 collegare il tuo repository github con il deployment web di back4app accedi al deployment web accedi al tuo dashboard di back4app, scegli il tuo progetto (basic crud app lit) e seleziona l' opzione deployment web collega il tuo account github segui le istruzioni per collegare il tuo account github, consentendo a back4app di accedere al tuo repository scegli il tuo repository e branch seleziona il repository (ad esempio, basic crud app lit frontend ) e il branch (ad esempio, main ) contenente il tuo codice lit 7 4 configurare le impostazioni di deployment specifica le impostazioni di build comando di build se una cartella di build precompilata è mancante, usa un comando come npm run build back4app eseguirà questo comando durante il deployment directory di output imposta questo su build affinché back4app possa localizzare i tuoi file statici variabili d'ambiente includi eventuali chiavi api necessarie o altri valori specifici per l'ambiente 7 5 contenere la tua applicazione lit con docker se preferisci docker, includi un dockerfile nel tuo repository \# use a lightweight node image for building the app from node 16 alpine as build \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy remaining source code and build the app copy run npm run build \# use nginx to serve the built app from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] nelle impostazioni di deployment di back4app, scegli l'opzione di deployment docker per contenere la tua app 7 6 lancio della tua applicazione inizia il deployment clicca sul deploy pulsante dopo aver finalizzato le tue impostazioni monitora il processo back4app recupererà il tuo codice github, eseguirà il comando di build e distribuirà il tuo container ottieni il tuo url live una volta completato il deployment, verrà fornito un url dove è ospitata la tua applicazione lit 7 7 validazione del tuo deployment visita l'url apri il link fornito nel tuo browser testa la funzionalità assicurati che l'applicazione si carichi correttamente, che la navigazione funzioni e che tutte le risorse siano servite correttamente debug se necessario usa gli strumenti per sviluppatori del browser per ispezionare eventuali problemi se sorgono problemi, rivedi i log di deployment in back4app passo 8 – considerazioni finali e miglioramenti futuri ottimo lavoro! hai sviluppato con successo un'applicazione crud di base utilizzando lit e back4app hai impostato un progetto chiamato basic crud app lit , definito uno schema di database dettagliato per articoli e utenti, e gestito i tuoi dati con l'admin app inoltre, hai integrato il tuo frontend lit con il backend e implementato misure di sicurezza robuste prossimi passi migliora il tuo frontend aggiungi funzionalità come pagine dettagliate degli articoli, funzionalità di ricerca e aggiornamenti in tempo reale espandi le capacità del backend integra funzionalità avanzate come cloud functions, servizi api esterni o controlli di accesso basati sui ruoli esplora altre risorse visita la documentazione di back4app https //www back4app com/docs e altri tutorial per approfondimenti su prestazioni e personalizzazione seguendo questa guida, ora possiedi le competenze per creare un backend crud scalabile e sicuro per la tua applicazione lit utilizzando back4app buon coding e continua a innovare!