Quickstarters
CRUD Samples
Comment créer une application CRUD avec Koa ?
38 min
introduction dans ce guide, vous apprendrez à développer une application crud (créer, lire, mettre à jour, supprimer) en utilisant koa js ce tutoriel vous guidera à travers les étapes essentielles de la gestion des données et de la construction d'une api fonctionnelle en intégrant votre backend koa js avec back4app vous commencerez par configurer un projet back4app appelé basic crud app koajs , qui sert de puissant backend pour votre application ensuite, vous concevrez un schéma de base de données flexible en établissant des collections et en définissant des champs—soit manuellement, soit avec l'aide de l'agent ia de back4app cette configuration garantit que vos données sont organisées pour des opérations crud fluides ensuite, vous utiliserez l'application admin de back4app, un outil sans code, glisser déposer qui simplifie les tâches de gestion des données telles que la création, la lecture, la mise à jour et la suppression d'enregistrements enfin, vous configurerez votre serveur koa js pour interagir avec back4app via des api rest, tout en mettant en œuvre des contrôles d'accès robustes pour sécuriser votre backend à la fin de ce tutoriel, vous aurez construit une application côté serveur prête pour la production qui non seulement prend en charge les opérations crud de base, mais inclut également l'authentification des utilisateurs et la gestion sécurisée des données principaux enseignements découvrez comment construire des applications crud avec koa js tout en tirant parti d'un backend cloud fiable obtenez des informations sur la conception d'un backend évolutif et son intégration avec une api restful apprenez à utiliser l'application back4app admin intuitive pour simplifier les opérations crud explorez les stratégies de déploiement, y compris la conteneurisation avec docker, pour lancer rapidement votre application koa js prérequis avant de plonger, assurez vous d'avoir ce qui suit un compte back4app avec un projet actif consultez démarrer avec back4app https //www back4app com/docs/get started/new parse app pour des conseils un environnement de développement node js fonctionnel installez node js (v14 ou ultérieur) et configurez votre projet koa js connaissances de base en javascript, koa js et api rest consultez la documentation koa js https //koajs com/ si nécessaire étape 1 – configuration de votre projet back4app création d'un nouveau projet back4app connectez vous à votre compte back4app cliquez sur le bouton “nouvelle application” depuis votre tableau de bord nommez votre projet basic crud app koajs et suivez les instructions pour compléter la configuration créer un nouveau projet une fois votre projet établi, il sera visible sur votre tableau de bord, fournissant le cadre backend requis pour votre application étape 2 – élaboration du schéma de base de données conception de votre modèle de données pour cette application crud, vous devrez configurer plusieurs collections ci dessous, des collections d'exemple avec des champs et des types suggérés pour vous aider à configurer efficacement le schéma de votre base de données 1\ collection d'articles cette collection contient des détails pour chaque article champ type description id identifiant d'objet identifiant unique généré automatiquement titre chaîne le titre de l'article description chaîne une brève description de l'article créé à date horodatage lorsque l'élément a été créé mis à jour le date horodatage de la mise à jour la plus récente 2\ collection des utilisateurs cette collection gère les données utilisateur et les informations d'authentification champ type description id identifiant d'objet clé primaire générée automatiquement nom d'utilisateur chaîne un nom d'utilisateur unique pour l'utilisateur email chaîne adresse e mail unique de l'utilisateur hash de mot de passe chaîne mot de passe haché de manière sécurisée créé à date horodatage de la création du compte mis à jour le date horodatage de la dernière mise à jour du compte vous pouvez créer ces collections via le tableau de bord back4app en ajoutant une nouvelle classe pour chacune et en définissant les colonnes correspondantes créer une nouvelle classe vous pouvez définir des champs en sélectionnant le type approprié, en définissant des valeurs par défaut et en spécifiant si le champ est obligatoire créer une colonne exploiter l'agent ai de back4app pour la configuration du schéma l'agent ai de back4app, disponible dans votre tableau de bord, peut générer automatiquement le schéma de votre base de données à partir d'un prompt détaillé décrivant vos collections et champs cette fonctionnalité accélère la configuration du projet et garantit un schéma cohérent pour les opérations crud comment utiliser l'agent ai ouvrez l'agent ai depuis votre tableau de bord back4app ou dans les paramètres du projet fournissez un prompt descriptif décrivant les collections et les champs dont vous avez besoin examinez le schéma généré et appliquez la configuration à votre projet exemple de 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) cette approche permet de gagner du temps et aide à garantir que votre schéma est à la fois cohérent et optimisé étape 3 – activation de l'application admin et fonctionnalité crud aperçu de l'application admin l'application admin de back4app est une interface conviviale qui vous permet de gérer vos données backend sans effort grâce à des contrôles par glisser déposer cet outil sans code simplifie les opérations telles que la création, la lecture, la mise à jour et la suppression d'enregistrements activation de l'application admin allez dans le menu “plus” de votre tableau de bord back4app sélectionnez “admin app” et cliquez sur “activer l'application admin ” configurez votre compte admin initial ; ce processus établit des rôles système comme b4aadminuser et prépare les collections système activer l'application admin une fois activée, connectez vous à l'application admin pour gérer vos collections et enregistrements tableau de bord de l'application admin dans l'application admin, vous pouvez ajouter de nouveaux enregistrements utilisez le bouton “ajouter un enregistrement” dans n'importe quelle collection (par exemple, articles) pour créer de nouvelles entrées voir et modifier des enregistrements sélectionnez un enregistrement pour inspecter ses détails ou modifier ses champs supprimer des enregistrements supprimez les entrées qui ne sont plus nécessaires étape 4 – connecter votre backend koa js avec back4app maintenant que votre backend est configuré et géré, il est temps de configurer votre serveur koa js pour interagir avec back4app utiliser les api rest avec koa js ce tutoriel démontrera comment utiliser des appels d'api rest depuis votre serveur koa js pour effectuer des opérations crud sur vos collections back4app configurer un serveur koa js de base installez koa js et les middleware nécessaires npm install koa koa router koa bodyparser node fetch créez le fichier serveur (par exemple, 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}`); }); cette configuration vous donne un serveur koa js qui communique avec back4app via des appels rest, gérant toutes les opérations crud étape 5 – sécuriser votre backend mise en œuvre des contrôles d'accès protégez vos données en appliquant des listes de contrôle d'accès (acl) au niveau des objets par exemple, lors de la création d'un élément privé, définissez les acl pour restreindre l'accès 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); } } configuration des autorisations au niveau de la classe (clp) dans votre tableau de bord back4app, configurez les clp pour chaque collection afin d'établir des règles par défaut, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données sensibles étape 6 – authentification des utilisateurs configuration des comptes utilisateurs back4app utilise une classe utilisateur pour gérer l'authentification dans votre serveur koa js, gérez l'enregistrement et la connexion des utilisateurs en interfaçant avec l'api rest de back4app exemple point de terminaison d'enregistrement des utilisateurs 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' }; } }); vous pouvez créer des points de terminaison similaires pour la connexion et la gestion des sessions selon vos besoins étape 7 – déploiement de votre application koa js la fonctionnalité de déploiement web de back4app vous permet d'héberger votre serveur koa js en le liant à votre dépôt github 7 1 – construire et organiser votre projet assurez vous que votre projet est correctement structuré un exemple de mise en page pourrait être basic crud app koajs/ ├── node modules/ ├── server js ├── package json └── readme md engagez tous vos fichiers source dans un dépôt git exemples de commandes git 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 – intégrer avec le déploiement web de back4app connectez vous à votre tableau de bord back4app, ouvrez votre projet basic crud app koajs , et naviguez vers la section déploiement web connectez votre compte github si ce n'est pas déjà fait sélectionnez votre dépôt et la branche pertinente (par exemple, main ) 7 3 – configurez vos paramètres de déploiement commande de construction si votre projet doit être construit (par exemple, transpilation de javascript moderne), spécifiez une commande de construction telle que npm run build répertoire de sortie indiquez le dossier contenant vos fichiers prêts pour la production, le cas échéant variables d'environnement ajoutez toutes les variables d'environnement nécessaires (comme les clés api) dans la configuration de déploiement 7 4 – optionnel dockerisez votre serveur koa js si vous souhaitez déployer votre application en tant que conteneur, incluez un dockerfile dans votre dépôt \# 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 – lancez votre application cliquez sur le déployer bouton sur back4app surveillez les journaux de déploiement pour vous assurer que votre application est construite et déployée avec succès une fois terminé, back4app fournira une url où votre serveur koa js est accessible 7 6 – validez votre déploiement visitez l'url fournie pour vérifier que votre application fonctionne testez chaque point de terminaison (opérations crud, authentification des utilisateurs) pour confirmer le bon fonctionnement si des problèmes surviennent, examinez vos journaux et vos paramètres de déploiement pour le dépannage étape 8 – conclusion et améliorations futures excellent travail ! vous avez maintenant construit une application crud entièrement opérationnelle utilisant koa js intégrée à back4app votre projet basic crud app koajs dispose de collections soigneusement conçues pour les articles et les utilisateurs, d'une application admin conviviale pour la gestion des données, et d'un backend sécurisé prochaines étapes développez votre api améliorez votre serveur koa js avec des routes supplémentaires, des middleware, ou même des fonctionnalités en temps réel améliorez l'authentification envisagez de mettre en œuvre une authentification basée sur des jetons, des connexions sociales, ou une vérification multi facteurs explorez la documentation supplémentaire consultez la documentation de back4app https //www back4app com/docs et les guides koa js https //koajs com/ pour des sujets plus avancés et des optimisations en suivant ce tutoriel, vous possédez maintenant les compétences nécessaires pour construire un backend crud évolutif, sécurisé et efficace avec koa js et back4app profitez en