Quickstarters
CRUD Samples
How to Create a CRUD Application with Koa.js?
37 min
introduzione in questa guida, imparerai come sviluppare un'applicazione crud (crea, leggi, aggiorna, elimina) utilizzando koa js questo tutorial ti guiderà attraverso i passaggi essenziali per gestire i dati e costruire un'api funzionale integrando il tuo backend koa js con back4app inizierai creando un progetto back4app chiamato basic crud app koajs , che funge da potente backend per la tua applicazione successivamente, progetterai uno schema di database flessibile stabilendo collezioni e definendo campi—sia manualmente che con l'aiuto dell'ai agent di back4app questa configurazione garantisce che i tuoi dati siano organizzati per operazioni crud fluide poi, utilizzerai l'app admin di back4app, uno strumento senza codice, drag and drop che semplifica le attività di gestione dei dati come creare, leggere, aggiornare ed eliminare record infine, configurerai il tuo server koa js per interagire con back4app tramite api rest, il tutto implementando controlli di accesso robusti per proteggere il tuo backend alla fine di questo tutorial, avrai costruito un'applicazione server side pronta per la produzione che non solo supporta le operazioni crud di base, ma include anche l'autenticazione degli utenti e la gestione sicura dei dati punti chiave scopri come costruire applicazioni crud con koa js sfruttando un backend cloud affidabile ottieni informazioni su come progettare un backend scalabile e integrarlo con un'api restful impara a utilizzare l'intuitiva back4app admin app per semplificare le operazioni crud esplora strategie di distribuzione, inclusa la containerizzazione con docker, per lanciare rapidamente la tua applicazione koa js requisiti preliminari prima di immergerti, assicurati di avere quanto segue un account back4app con un progetto attivo controlla iniziare con back4app https //www back4app com/docs/get started/new parse app per indicazioni un ambiente di sviluppo node js funzionante installa node js (v14 o successivo) e configura il tuo progetto koa js conoscenze di base di javascript, koa js e api rest rivedi la documentazione di koa js https //koajs com/ se necessario passo 1 – configurare il tuo progetto back4app creare un nuovo progetto back4app accedi al tuo account back4app clicca sul pulsante “nuova app” dalla tua dashboard dai un nome al tuo progetto basic crud app koajs e segui le istruzioni per completare la configurazione crea nuovo progetto una volta che il tuo progetto è stato creato, sarà visibile sulla tua dashboard, fornendo il framework backend necessario per la tua applicazione passo 2 – creare lo schema del database progettazione del tuo modello di dati per questa applicazione crud, dovrai impostare diverse collezioni di seguito sono riportate collezioni di esempio con campi e tipi suggeriti per aiutarti a configurare efficacemente lo schema del tuo database 1\ collezione degli articoli questa collezione contiene dettagli per ogni elemento campo tipo descrizione id objectid identificatore unico generato automaticamente titolo stringa il titolo dell'oggetto descrizione stringa una breve descrizione dell'oggetto creato il data timestamp quando l'elemento è stato creato aggiornato il data timestamp per l'aggiornamento più recente 2\ raccolta utenti questa collezione gestisce i dati degli utenti e le credenziali di autenticazione campo tipo descrizione id objectid chiave primaria generata automaticamente nome utente stringa un nome utente unico per l'utente email stringa indirizzo email unico dell'utente hash password stringa password crittografata in modo sicuro creato il data timestamp della creazione dell'account aggiornato a data timestamp dell'ultimo aggiornamento dell'account puoi creare queste collezioni tramite il dashboard di back4app aggiungendo una nuova classe per ciascuna e definendo le colonne corrispondenti crea nuova classe puoi definire i campi selezionando il tipo appropriato, impostando valori predefiniti e specificando se il campo è obbligatorio crea colonna sfruttare l'agente ai di back4app per la configurazione dello schema l'agente ai di back4app, disponibile all'interno del tuo dashboard, può generare automaticamente il tuo schema di database da un prompt dettagliato che descrive le tue collezioni e campi questa funzionalità accelera la configurazione del progetto e garantisce uno schema coerente per le operazioni crud come utilizzare l'agente ai apri l'agente ai dal tuo dashboard di back4app o all'interno delle impostazioni del progetto fornisci un prompt descrittivo che delinei le collezioni e i campi di cui hai bisogno esamina lo schema generato e applica la configurazione al tuo progetto esempio di prompt create these collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) questo approccio fa risparmiare tempo e aiuta a garantire che il tuo schema sia sia coerente che ottimizzato passo 3 – attivazione dell'app admin e funzionalità crud panoramica dell'app admin l'app admin di back4app è un'interfaccia user friendly che ti consente di gestire i tuoi dati di backend senza sforzo tramite controlli drag and drop questo strumento no code semplifica operazioni come la creazione, lettura, aggiornamento e cancellazione di record attivazione dell'app admin vai al menu “altro” nel tuo dashboard di back4app seleziona “app admin” e clicca su “abilita app admin ” configura il tuo account admin iniziale; questo processo stabilisce i ruoli di sistema come b4aadminuser e prepara le collezioni di sistema abilita app admin una volta attivata, accedi all'app admin per gestire le tue collezioni e record dashboard app admin all'interno dell'app admin, puoi aggiungere nuovi record usa il pulsante “aggiungi record” in qualsiasi collezione (ad es , articoli) per creare nuove voci visualizzare e modificare record seleziona un record per ispezionare i suoi dettagli o modificare i suoi campi rimuovere record elimina voci che non sono più necessarie passo 4 – collegare il tuo backend koa js con back4app ora che il tuo backend è configurato e gestito, è tempo di impostare il tuo server koa js per interagire con back4app utilizzare le api rest con koa js questo tutorial dimostrerà come utilizzare le chiamate api rest dal tuo server koa js per eseguire operazioni crud sulle tue collezioni back4app impostare un server koa js di base installa koa js e il middleware necessario npm install koa koa router koa bodyparser node fetch crea il file del server (ad esempio, server js ) // server js const koa = require('koa'); const router = require('koa router'); const bodyparser = require('koa bodyparser'); const fetch = require('node fetch'); const app = new koa(); const router = new router(); const application id = 'your application id'; const rest api key = 'your rest api key'; const base url = 'https //parseapi back4app com'; // fetch all items router get('/items', async (ctx) => { try { const response = await fetch(`${base url}/classes/items`, { headers { 'x parse application id' application id, 'x parse rest api key' rest api key } }); const data = await response json(); ctx body = data results; } catch (error) { ctx status = 500; ctx body = { error 'failed to fetch items' }; } }); // create a new item router post('/items', async (ctx) => { const { title, description } = ctx request body; try { const response = await fetch(`${base url}/classes/items`, { method 'post', headers { 'x parse application id' application id, 'x parse rest api key' rest api key, 'content type' 'application/json' }, body json stringify({ title, description }) }); const newitem = await response json(); ctx body = newitem; } catch (error) { ctx status = 500; ctx body = { error 'error creating item' }; } }); // update an item router put('/items/\ id', async (ctx) => { const { id } = ctx params; const { title, description } = ctx request body; try { const response = await fetch(`${base url}/classes/items/${id}`, { method 'put', headers { 'x parse application id' application id, 'x parse rest api key' rest api key, 'content type' 'application/json' }, body json stringify({ title, description }) }); const updateditem = await response json(); ctx body = updateditem; } catch (error) { ctx status = 500; ctx body = { error 'error updating item' }; } }); // delete an item router delete('/items/\ id', async (ctx) => { const { id } = ctx params; try { await fetch(`${base url}/classes/items/${id}`, { method 'delete', headers { 'x parse application id' application id, 'x parse rest api key' rest api key } }); ctx body = { message 'item deleted successfully' }; } catch (error) { ctx status = 500; ctx body = { error 'error deleting item' }; } }); app use(bodyparser()); app use(router routes()) use(router allowedmethods()); const port = process env port || 3000; app listen(port, () => { console log(`server is running on port ${port}`); }); questa configurazione ti fornisce un server koa js che comunica con back4app tramite chiamate rest, gestendo tutte le operazioni crud passo 5 – proteggere il tuo backend implementazione dei controlli di accesso proteggi i tuoi dati applicando le liste di controllo degli accessi (acl) a livello di oggetto ad esempio, quando crei un elemento privato, imposta le acl per limitare l'accesso async function createsecureitem(itemdata, ownersessiontoken) { try { const response = await fetch(`${base url}/classes/items`, { method 'post', headers { 'x parse application id' application id, 'x parse rest api key' rest api key, 'content type' 'application/json', 'x parse session token' ownersessiontoken }, body json stringify({ title itemdata title, description itemdata description, acl { " " { "read" false, "write" false }, "owner" { "read" true, "write" true } } }) }); const result = await response json(); console log('secure item created ', result); } catch (error) { console error('error creating secure item ', error); } } impostazione delle autorizzazioni a livello di classe (clp) all'interno del tuo dashboard di back4app, configura i clp per ogni collezione per stabilire regole predefinite, assicurandoti che solo gli utenti autorizzati possano accedere ai dati sensibili passo 6 – autenticazione dell'utente configurazione degli account utente back4app utilizza una classe utente per gestire l'autenticazione nel tuo server koa js, gestisci la registrazione e il login degli utenti interfacciandoti con l'api rest di back4app esempio endpoint di registrazione utente router post('/signup', async (ctx) => { const { username, password, email } = ctx request body; try { const response = await fetch(`${base url}/users`, { method 'post', headers { 'x parse application id' application id, 'x parse rest api key' rest api key, 'content type' 'application/json' }, body json stringify({ username, password, email }) }); const userdata = await response json(); ctx body = userdata; } catch (error) { ctx status = 500; ctx body = { error 'error signing up' }; } }); puoi costruire endpoint simili per il login e la gestione delle sessioni secondo necessità passo 7 – distribuzione della tua applicazione koa js la funzione di distribuzione web di back4app consente di ospitare il tuo server koa js collegandolo al tuo repository github 7 1 – costruisci e organizza il tuo progetto assicurati che il tuo progetto sia strutturato correttamente un layout di esempio potrebbe essere basic crud app koajs/ ├── node modules/ ├── server js ├── package json └── readme md impegnati a caricare tutti i tuoi file sorgente in un repository git comandi git di esempio git init git add git commit m "initial commit of koa js backend" git remote add origin https //github com/your username/basic crud app koajs git git push u origin main 7 2 – integra con la distribuzione web di back4app accedi al tuo dashboard di back4app, apri il tuo progetto basic crud app koajs , e naviga alla sezione distribuzione web collega il tuo account github se non lo hai già fatto seleziona il tuo repository e il ramo pertinente (ad esempio, main ) 7 3 – configura le impostazioni di distribuzione comando di build se il tuo progetto deve essere costruito (ad esempio, per transpiling di javascript moderno), specifica un comando di build come npm run build directory di output indica la cartella contenente i tuoi file pronti per la produzione, se applicabile variabili d'ambiente aggiungi eventuali variabili d'ambiente necessarie (come le chiavi api) nella configurazione di distribuzione 7 4 – facoltativo dockerizza il tuo server koa js se desideri distribuire la tua applicazione come un contenitore, includi un dockerfile nel tuo repository \# use the official node js image as a base from node 16 alpine \# set the working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# expose the desired port expose 3000 \# run the application cmd \["node", "server js"] 7 5 – avvia la tua applicazione clicca sul deploy pulsante su back4app monitora i log di distribuzione per assicurarti che la tua app sia costruita e distribuita con successo una volta terminato, back4app fornirà un url dove il tuo server koa js è accessibile 7 6 – valida la tua distribuzione visita l'url fornito per verificare che la tua applicazione sia in esecuzione testa ogni endpoint (operazioni crud, autenticazione utente) per confermare il corretto funzionamento se si verificano problemi, rivedi i tuoi log e le impostazioni di distribuzione per la risoluzione dei problemi passo 8 – conclusione e miglioramenti futuri ottimo lavoro! hai ora costruito un'applicazione crud completamente operativa utilizzando koa js integrato con back4app il tuo progetto basic crud app koajs presenta collezioni progettate con cura per articoli e utenti, un'app admin intuitiva per la gestione dei dati e un backend sicuro prossimi passi espandi la tua api migliora il tuo server koa js con rotte aggiuntive, middleware o anche funzionalità in tempo reale migliora l'autenticazione considera di implementare l'autenticazione basata su token, accessi sociali o verifica a più fattori esplora ulteriore documentazione dai un'occhiata alla documentazione di back4app https //www back4app com/docs e le guide di koa js https //koajs com/ per argomenti più avanzati e ottimizzazioni seguendo questo tutorial, ora possiedi le competenze per costruire un backend crud scalabile, sicuro ed efficiente con koa js e back4app buon divertimento!