Quickstarters
CRUD Samples
Come costruire un'app CRUD di base con RedwoodJS? Una guida passo passo
38 min
panoramica in questa guida, imparerai come creare un'applicazione crud di base (crea, leggi, aggiorna, elimina) utilizzando redwoodjs questo tutorial ti guiderà attraverso il processo di configurazione del tuo progetto con back4app come servizio backend, progettando uno schema di database robusto e integrandolo con un frontend redwoodjs seguendo questi passaggi, costruirai un'applicazione pronta per la produzione che gestisce i dati in modo efficace utilizzando tecniche di sviluppo moderne informazioni essenziali padroneggia la creazione di un'applicazione crud che gestisce i dati in modo efficiente con un potente servizio backend scopri come architettare un database scalabile e fonderlo con un'interfaccia redwoodjs per migliorare l'interazione con l'utente esplora l'uso di uno strumento di gestione drag and drop senza codice—l'app admin di back4app—per semplificare le operazioni crud impara strategie di distribuzione, inclusa la containerizzazione con docker, per lanciare rapidamente la tua applicazione web requisiti prima di iniziare, verifica di avere quanto segue un account back4app attivo con un nuovo progetto pronto se hai bisogno di indicazioni, dai un'occhiata a iniziare con back4app https //www back4app com/docs/get started/new parse app un ambiente di sviluppo redwoodjs configurato usa il cli di redwoodjs per creare la tua applicazione assicurati che node js (versione 14 o successiva) sia installato una comprensione di base di javascript, redwoodjs e graphql per ulteriori dettagli, visita la documentazione di redwoodjs https //redwoodjs com/docs/introduction passo 1 – inizia il tuo progetto avviare un nuovo progetto back4app accedi al tuo dashboard di back4app seleziona “nuova app” per iniziare un nuovo progetto nomina il tuo progetto basic crud app redwoodjs e segui le istruzioni di configurazione crea nuovo progetto il tuo progetto apparirà ora nella dashboard, ponendo le basi per la configurazione e gestione del tuo backend passo 2 – creazione dello schema del database strutturare il tuo modello di dati per questa app crud, progetterai diverse collezioni di seguito sono riportati esempi di due collezioni essenziali insieme ai campi necessari queste configurazioni sono cruciali per abilitare funzionalità crud affidabili 1\ collezione articoli questa collezione contiene dettagli su ciascun elemento campo tipo di dato scopo id objectid identificatore unico generato automaticamente titolo stringa il nome o titolo dell'elemento descrizione stringa una breve sintesi che descrive l'oggetto creato il data timestamp di creazione del record aggiornato a data timestamp dell'ultimo aggiornamento 2\ raccolta utenti questa collezione memorizza le credenziali e i dettagli dell'utente campo tipo di dato scopo id objectid identificatore unico generato automaticamente nome utente stringa identificatore unico per l'utente email stringa indirizzo email unico dell'utente hash password stringa password crittografata per l'autenticazione creato il data timestamp di creazione dell'account aggiornato a data timestamp dell'ultimo aggiornamento puoi configurare queste collezioni direttamente nel pannello di controllo di back4app creando nuove classi e aggiungendo colonne appropriate crea nuova classe definisci ogni campo scegliendo il suo tipo, assegnandogli un nome e impostando il suo stato predefinito o obbligatorio crea colonna utilizzare l'agente ai di back4app per la creazione dello schema l'agente ai di back4app, accessibile dalla tua dashboard, può generare automaticamente il tuo schema di database basato su un prompt descrittivo questa funzionalità accelera notevolmente la configurazione di uno schema coerente per la tua applicazione come utilizzare l'agente ai avvia l'agente ai accedi all'agente dalla tua dashboard di back4app o dalle impostazioni del progetto dettaglia il tuo modello dati inserisci un prompt completo che delinei le collezioni e i campi di cui hai bisogno esamina e implementa esamina le proposte di schema generate e applicale al tuo progetto esempio di prompt create these collections in my back4app project 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 questo approccio guidato dall'ai non solo fa risparmiare tempo, ma garantisce anche uno schema ben ottimizzato e uniforme passo 3 – attivazione dell'app admin e gestione delle operazioni crud introduzione all'app admin l'app admin di back4app è un'interfaccia intuitiva e senza codice che ti consente di gestire i tuoi dati di backend senza sforzo la sua funzionalità di trascinamento rende le operazioni crud—come aggiungere, visualizzare, aggiornare ed eliminare record—un gioco da ragazzi come abilitare l'app admin vai al menu “altro” nel tuo dashboard di back4app seleziona “app admin” e poi clicca su “abilita app admin ” imposta le tue credenziali di amministratore creando un utente amministratore iniziale, che stabilisce anche i ruoli (ad es , b4aadminuser ) e le collezioni di sistema abilita app admin dopo l'attivazione, accedi all'app admin per gestire i tuoi dati dashboard app admin eseguire crud tramite l'app admin all'interno dell'app admin, puoi aggiungere nuovi record usa il pulsante “aggiungi record” in una collezione (ad es , articoli) per inserire nuovi dati visualizzare e modificare record clicca su un record per vedere i suoi dettagli e apportare aggiornamenti rimuovere record seleziona l'opzione di eliminazione per eliminare i dati che non sono più necessari questa interfaccia intuitiva semplifica notevolmente i compiti di gestione dei dati passo 4 – integrare redwoodjs con back4app ora che il tuo backend è configurato e gestibile tramite l'admin app, è tempo di collegare il tuo frontend redwoodjs con back4app utilizzo dell'integrazione api graphql redwoodjs è costruito attorno a graphql, rendendolo un abbinamento perfetto per l'integrazione con back4app tramite chiamate api invece di utilizzare l'sdk, interagirai con il tuo backend utilizzando query e mutazioni graphql impostare il tuo progetto redwoodjs crea una nuova applicazione redwoodjs yarn create redwood app basic crud app redwood naviga nella directory del tuo progetto cd basic crud app redwood configura le tue variabili d'ambiente nel tuo env file, aggiungi le tue credenziali back4app back4app app id=your application id back4app rest api key=your rest api key back4app server url=https //parseapi back4app com recupero dati con le redwoodjs cells le redwoodjs cells semplificano il recupero dei dati ecco un esempio di una cella che recupera elementi // web/src/components/itemscell/itemscell js export const query = gql` query items query { items itemscollection { id title description } } `; export const loading = () => \<div>loading items…\</div>; export const empty = () => \<div>no items available \</div>; export const failure = ({ error }) => \<div>error {error message}\</div>; export const success = ({ items }) => { return ( \<ul> {items map((item) => ( \<li key={item id}> \<strong>{item title}\</strong> — {item description} \</li> ))} \</ul> ); }; puoi integrare query e mutazioni graphql simili nei tuoi componenti redwoodjs per eseguire operazioni crud passo 5 – sicurezza del tuo backend implementazione del controllo degli accessi proteggi i tuoi dati impostando le liste di controllo degli accessi (acl) direttamente sugli oggetti ad esempio, quando crei un articolo privato, puoi assicurarti che solo il proprietario abbia privilegi di lettura/scrittura async function createprivateitem(itemdata, owner) { const response = await fetch(`${process env back4app server url}/classes/items`, { method 'post', headers { 'x parse application id' process env back4app app id, 'x parse rest api key' process env back4app rest api key, 'content type' 'application/json' }, body json stringify({ title itemdata title, description itemdata description, acl { \[owner] { read true, write true }, " " { read false, write false } } }) }); return response json(); } configurazione delle autorizzazioni a livello di classe all'interno del dashboard di back4app, imposta le autorizzazioni a livello di classe (clp) per ogni collezione per limitare l'accesso agli utenti autenticati o a ruoli specifici, garantendo che i tuoi dati rimangano sicuri passo 6 – gestione dell'autenticazione degli utenti impostazione della gestione degli account back4app sfrutta un robusto sistema utente, che puoi integrare in redwoodjs per l'autenticazione degli utenti nella tua app redwoodjs, gestisci le registrazioni e i login degli utenti tramite chiamate api esempio registrazione utente // web/src/components/auth/signup js import { usestate } from 'react'; const signup = () => { const \[username, setusername] = usestate(''); const \[email, setemail] = usestate(''); const \[password, setpassword] = usestate(''); const handlesignup = async (e) => { e preventdefault(); try { const response = await fetch(`${process env back4app server url}/users`, { method 'post', headers { 'x parse application id' process env back4app app id, 'x parse rest api key' process env back4app rest api key, 'content type' 'application/json' }, body json stringify({ username, email, password }) }); const data = await response json(); if (data error) { alert('sign up failed ' + data error); } else { alert('user successfully registered!'); } } catch (error) { console error('registration error ', error); } }; return ( \<form onsubmit={handlesignup}> \<input type="text" placeholder="username" value={username} onchange={(e) => setusername(e target value)} /> \<input type="email" placeholder="email" value={email} onchange={(e) => setemail(e target value)} /> \<input type="password" placeholder="password" value={password} onchange={(e) => setpassword(e target value)} /> \<button type="submit">sign up\</button> \</form> ); }; export default signup; un metodo simile può essere applicato per il login e il mantenimento delle sessioni utente passo 7 – distribuzione del tuo frontend redwoodjs tramite distribuzione web la funzione di distribuzione web di back4app rende l'hosting del tuo frontend redwoodjs senza soluzione di continuità segui questi passaggi per inviare il tuo codice in produzione 7 1 crea la tua versione di produzione apri la cartella del tuo progetto nel terminale esegui il comando di build yarn rw build questo genererà una web/dist cartella contenente i tuoi file statici ottimizzati verifica l'output della build assicurati che la web/dist cartella contenga un index html insieme a tutte le risorse necessarie 7 2 organizza e commetti il tuo codice sorgente il tuo repository dovrebbe ospitare il codice sorgente completo della tua applicazione redwoodjs una struttura tipica potrebbe essere basic crud app redwood/ ├── api/ ├── web/ │ ├── dist/ │ ├── src/ │ │ ├── components/ │ │ │ ├── itemscell/ │ │ │ └── auth/ │ │ └── app js │ └── index html ├── env └── package json impegnarsi su github inizializza git (se necessario) git init aggiungi i tuoi file git add impegnati con il tuo codice git commit m "impegno iniziale per il frontend crud di redwoodjs" crea un repository github (ad esempio, basic crud app redwood ) e carica il tuo codice git remote add origin https //github com/your username/basic crud app redwood git git push u origin main 7 3 integra con il deployment web accedi al deployment web dal tuo dashboard back4app sotto il tuo progetto (basic crud app redwood) collega il tuo account github se non lo hai già fatto, seguendo le istruzioni seleziona il tuo repository e branch (ad esempio, main ) contenente il tuo codice redwoodjs 7 4 imposta i parametri di deployment comando di build specifica yarn rw build se il tuo repository non include una distribuzione pre costruita directory di output configura la directory di output come web/dist variabili d'ambiente includi eventuali variabili d'ambiente necessarie, come le tue chiavi back4app 7 5 containerizzazione con docker se preferisci docker per il deployment, includi un dockerfile nel tuo repository ad esempio \# use an official node image for building the app from node 16 alpine as builder \# set the working directory workdir /app \# copy dependency definitions copy package json / \# install dependencies run yarn install \# copy the project files copy \# build the redwoodjs app run yarn rw build \# use nginx to serve the static files from nginx\ stable alpine copy from=builder /app/web/dist /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] 7 6 distribuzione dell'applicazione premi il pulsante distribuisci in back4app dopo aver finalizzato la tua configurazione monitora il processo di distribuzione back4app recupererà il tuo codice, costruirà il progetto e lo distribuirà in un ambiente containerizzato recupera l'url della tua applicazione una volta distribuito, verrà fornito un url dove è ospitata la tua applicazione redwoodjs 7 7 valida la tua distribuzione apri l'url fornito nel tuo browser per confermare che il sito si carica testa la funzionalità dell'applicazione assicurati che tutte le pagine, le rotte e le risorse si carichino correttamente risolvi i problemi se necessario utilizza gli strumenti per sviluppatori del browser e i log di distribuzione di back4app per eventuali debug richiesti passo 8 – considerazioni finali e direzioni future congratulazioni per aver costruito la tua applicazione crud basata su redwoodjs utilizzando back4app! hai impostato con successo un progetto intitolato basic crud app redwood , creato collezioni di database dettagliate per articoli e utenti, e integrato un frontend pulito con una gestione dei dati robusta e sicurezza cosa c'è dopo? affina il tuo frontend migliora la tua applicazione redwoodjs con funzionalità come pagine dettagliate degli articoli, funzionalità di ricerca e aggiornamenti in tempo reale incorpora funzionalità avanzate considera di aggiungere funzioni serverless, integrazioni di terze parti o controlli di accesso più complessi esplora risorse aggiuntive approfondisci la documentazione di back4app https //www back4app com/docs e le guide di redwoodjs https //redwoodjs com/docs per ulteriori miglioramenti seguendo questo tutorial, ora possiedi le conoscenze per sviluppare un backend crud scalabile e integrarlo senza problemi con un moderno frontend redwoodjs utilizzando back4app buon viaggio di programmazione!