Quickstarters
CRUD Samples
Comment créer une appli CRUD avec Node.js ?
34 min
aperçu dans ce guide, vous apprendrez à développer une application crud complète (créer, lire, mettre à jour, supprimer) en utilisant node js nous utiliserons back4app comme notre service backend pour simplifier la gestion des données ce guide vous accompagnera dans la configuration d'un projet back4app, la conception d'un modèle de données dynamique et la mise en œuvre des opérations crud en utilisant node js dans un premier temps, vous allez configurer un projet back4app nommé basic crud app node qui fournit une solution de stockage de données robuste et non relationnelle vous allez ensuite concevoir votre schéma de données en définissant des collections et des champs soit manuellement, soit en utilisant l'agent ai de back4app ensuite, vous gérerez votre backend via l'application admin de back4app—une interface conviviale de glisser déposer pour la manipulation des données enfin, vous intégrerez votre application node js avec back4app en utilisant le sdk javascript parse (ou l'api rest/graphql selon les besoins) tout en garantissant des contrôles d'accès sécurisés à la fin de ce tutoriel, vous aurez construit une application node js prête pour la production capable d'effectuer des opérations crud essentielles ainsi que l'authentification des utilisateurs et la sécurité des données ce que vous apprendrez comment créer une application crud basée sur node js avec un backend low code efficace stratégies pour concevoir un backend évolutif et le connecter à votre application node js comment utiliser l'application back4app admin pour des opérations de création, lecture, mise à jour et suppression simplifiées techniques de déploiement, y compris la conteneurisation docker, pour lancer efficacement votre application node js prérequis avant de plonger, assurez vous d'avoir un compte back4app avec un projet fraîchement configuré besoin d'aide ? visitez commencer avec back4app https //www back4app com/docs/get started/new parse app une configuration de développement node js utilisez un éditeur de code comme visual studio code et assurez vous que node js (v14 ou ultérieur) est installé des connaissances de base en node js, programmation asynchrone et api rest consultez la documentation node js https //nodejs org/en/docs/ si nécessaire étape 1 – configuration de votre projet 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 node et suivez les instructions à l'écran pour compléter la configuration créer un nouveau projet après la création, votre projet apparaîtra sur votre tableau de bord, prêt pour la configuration du backend étape 2 – élaboration de votre schéma de données définir vos structures de données pour cette application crud, vous allez créer plusieurs collections dans votre projet back4app voici des exemples des collections clés et des champs nécessaires pour une fonctionnalité crud de base 1\ collection d'articles cette collection stocke les détails de chaque article champ type description id identifiant d'objet identifiant unique généré automatiquement titre chaîne le nom de l'élément description chaîne un bref aperçu de l'article créé à date horodatage marquant quand l'élément a été ajouté mis à jour le date horodatage marquant la dernière mise à jour 2\ collection des utilisateurs cette collection gère les identifiants et les données d'authentification des utilisateurs champ type description id identifiant d'objet identifiant unique généré automatiquement nom d'utilisateur chaîne nom unique pour l'utilisateur email chaîne adresse e mail unique de l'utilisateur hashdemotdepasse chaîne mot de passe haché pour une authentification sécurisée créé à date horodatage de la création du compte mis à jour le date horodatage lorsque le compte a été mis à jour vous pouvez créer ces collections et champs manuellement via le tableau de bord back4app créer une nouvelle classe vous pouvez ajouter des colonnes en choisissant un type de données, en nommant le champ, en définissant des valeurs par défaut et en les marquant comme obligatoires créer une colonne utiliser l'agent ai de back4app pour la génération de schéma l'agent ai de back4app simplifie la configuration du schéma en générant automatiquement votre modèle de données en fonction de votre description cela accélère la configuration et garantit que vos structures de données prennent en charge toutes les opérations crud comment utiliser l'agent ai ouvrir l'agent ai accédez à l'agent ai depuis les paramètres de votre projet back4app décrire votre schéma de données décrivez les collections et les champs dont vous avez besoin réviser et appliquer l'agent ai proposera un schéma examinez la proposition et appliquez les modifications exemple de prompt 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) cette méthode garantit un modèle de données cohérent et optimisé étape 3 – activation de l'application admin et exécution des opérations crud aperçu de l'application admin l'application admin de back4app fournit une interface sans code pour gérer vos données backend son design par glisser déposer facilite l'exécution des tâches crud telles que l'ajout, la visualisation, la mise à jour et la suppression d'enregistrements activation de l'application admin allez dans la section “plus” de votre tableau de bord back4app sélectionnez “application admin” et cliquez sur “activer l'application admin ” configurez vos identifiants administratifs en configurant votre compte administrateur initial ce processus créera également des rôles (par exemple, b4aadminuser ) et des classes système activer l'application admin après activation, connectez vous à l'application admin pour gérer vos données tableau de bord de l'application admin gestion des opérations crud avec l'application admin dans l'application admin, vous pouvez insérer des enregistrements utilisez le bouton “ajouter un enregistrement” dans une collection (par exemple, articles) pour créer de nouvelles entrées examiner et modifier des enregistrements cliquez sur n'importe quel enregistrement pour inspecter ses détails ou mettre à jour ses champs supprimer des enregistrements supprimez les entrées qui ne sont plus nécessaires cette interface conviviale simplifie considérablement la gestion des données étape 4 – lier votre application node js avec back4app avec votre backend configuré, il est temps de connecter votre application node js à back4app option a utiliser le sdk javascript parse installez le sdk javascript de parse exécutez la commande suivante dans le répertoire de votre projet npm install parse initialisez parse dans votre application node js créez un fichier de configuration (par exemple, parseconfig js ) // parseconfig js const parse = require('parse/node'); parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; module exports = parse; 3\ implement crud operations for example, create a service to manage items ```javascript // itemsservice js const parse = require(' /parseconfig'); async function fetchitems() { const items = parse object extend('items'); const query = new parse query(items); try { const results = await query find(); console log('fetched items ', results); return results; } catch (error) { console error('error retrieving items ', error); } } async function createitem(title, description) { const items = parse object extend('items'); const item = new items(); item set('title', title); item set('description', description); try { await item save(); console log('item successfully created '); } catch (error) { console error('error creating item ', error); } } async function updateitem(objectid, newtitle, newdescription) { const items = parse object extend('items'); const query = new parse query(items); try { const item = await query get(objectid); item set('title', newtitle); item set('description', newdescription); await item save(); console log('item updated successfully '); } catch (error) { console error('error updating item ', error); } } async function deleteitem(objectid) { const items = parse object extend('items'); const query = new parse query(items); try { const item = await query get(objectid); await item destroy(); console log('item deleted successfully '); } catch (error) { console error('error deleting item ', error); } } module exports = { fetchitems, createitem, updateitem, deleteitem, }; option b utiliser rest ou graphql si vous préférez ne pas utiliser le sdk parse, vous pouvez interagir avec back4app via des appels api rest par exemple, voici comment récupérer des éléments en utilisant node js const https = require('https'); function fetchitemsrest() { const options = { hostname 'parseapi back4app com', path '/classes/items', method 'get', headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }; const req = https request(options, res => { let data = ''; res on('data', chunk => data += chunk); res on('end', () => console log('response ', data)); }); req on('error', error => console error('error ', error)); req end(); } fetchitemsrest(); intégrez ces appels rest dans vos services node js selon vos besoins étape 5 – renforcer la sécurité de votre backend configuration des listes de contrôle d'accès (acl) améliorez la sécurité de vos données en définissant des acl sur vos objets par exemple, pour rendre un élément accessible uniquement à son créateur const parse = require(' /parseconfig'); async function createprivateitem(title, description, owner) { const items = parse object extend('items'); const item = new items(); item set('title', title); item set('description', description); const acl = new parse acl(); acl setreadaccess(owner, true); acl setwriteaccess(owner, true); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); item setacl(acl); try { await item save(); console log('private item created successfully '); } catch (error) { console error('error saving private item ', error); } } définition des autorisations au niveau de la classe (clp) ajustez les clp dans votre tableau de bord back4app pour appliquer des règles de sécurité par défaut, garantissant que seuls les utilisateurs authentifiés peuvent interagir avec des collections spécifiques étape 6 – mise en œuvre de l'authentification des utilisateurs configuration de la gestion des utilisateurs back4app utilise la collection d'utilisateurs intégrée de parse pour gérer l'authentification dans votre application node js, implémentez l'inscription et la connexion des utilisateurs comme indiqué ci dessous const parse = require(' /parseconfig'); async function signup(username, password, email) { const user = new parse user(); user set('username', username); user set('password', password); user set('email', email); try { await user signup(); console log('user registered successfully!'); } catch (error) { console error('error during sign up ', error); } } async function login(username, password) { try { const user = await parse user login(username, password); console log('user logged in ', user get('username')); } catch (error) { console error('login error ', error); } } module exports = { signup, login }; une approche similaire peut être utilisée pour la gestion des sessions et des fonctionnalités d'authentification supplémentaires étape 7 – déployer votre application node js back4app fournit un processus de déploiement fluide vous pouvez déployer votre application node js en utilisant plusieurs méthodes, y compris la conteneurisation docker 7 1 construire votre application compiler et empaqueter utilisez votre outil de construction préféré (comme npm ou yarn) pour préparer votre application par exemple, exécutez npm run build vérifiez votre construction assurez vous que votre bundle de production contient tous les modules et fichiers requis 7 2 organiser la structure de votre projet une structure typique de projet node js pourrait ressembler à basic crud app node/ \| src/ \| | controllers/ \| | | itemscontroller js \| | | authcontroller js \| | models/ \| | | item js \| | | user js \| | routes/ \| | itemsroutes js \| | authroutes js \| parseconfig js \| package json \| readme md 7 3 dockeriser votre application node js si vous préférez le déploiement conteneurisé, ajoutez un dockerfile à la racine de votre projet \# use an official node js runtime as a parent image from node 14 alpine \# set the working directory workdir /usr/src/app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application code copy \# expose the application port (adjust if necessary) expose 3000 \# start the node js application cmd \["npm", "start"] 7 4 déploiement via le déploiement web back4app connectez votre dépôt github hébergez votre code source node js sur github configurez les paramètres de déploiement dans votre tableau de bord back4app, choisissez l'option déploiement web , liez votre dépôt (par exemple, basic crud app node ), et sélectionnez la branche souhaitée définissez les commandes de construction et de sortie définissez votre commande de construction (par exemple, npm run build ) et spécifiez le dossier de sortie déployez votre application cliquez sur déployer et surveillez les journaux jusqu'à ce que votre application soit en ligne étape 8 – conclusion et améliorations futures félicitations ! vous avez maintenant construit une application crud node js intégrée avec back4app vous avez configuré un projet appelé basic crud app node , établi des collections pour les articles et les utilisateurs, et géré votre backend avec l'application d'administration back4app de plus, vous avez connecté votre application node js via le sdk javascript parse (ou rest/graphql) et mis en œuvre des mesures de sécurité robustes prochaines étapes améliorez votre application envisagez d'ajouter des fonctionnalités telles que le filtrage avancé, des vues détaillées ou des mises à jour en temps réel élargissez les capacités du backend explorez les fonctions cloud, les intégrations d'api tierces ou les contrôles d'accès basés sur les rôles approfondissez votre expertise consultez la documentation back4app https //www back4app com/docs et des tutoriels supplémentaires pour affiner davantage votre application bonne programmation et meilleurs vœux pour votre parcours avec votre application crud node js !