Quickstarters
CRUD Samples
Comment créer une application CRUD de base avec Ractive.js : Un guide étape par étape
40 min
aperçu dans ce guide, vous apprendrez à construire une application crud (créer, lire, mettre à jour, supprimer) entièrement fonctionnelle en utilisant ractive js ce tutoriel couvre l'ensemble du flux de travail, de la configuration de votre projet back4app à la conception de votre schéma de base de données, et enfin à l'intégration d'un frontend ractive js avec votre backend le projet, surnommé basic crud app ractive , servira de solution robuste de gestion des données pour votre application web vous commencerez par initialiser un projet back4app, en configurant des collections et des champs soit manuellement, soit avec l'aide de l'agent ia de back4app ensuite, vous utiliserez l'application admin de back4app intuitive pour un traitement des données simple, suivie de l'intégration de votre interface ractive js avec back4app via des appels api rest ce guide explique également comment sécuriser votre backend en utilisant des méthodes avancées de contrôle d'accès à la fin, vous aurez une application crud de qualité production qui non seulement effectue des opérations essentielles mais prend également en charge l'authentification des utilisateurs et la gestion sécurisée des données points essentiels maîtriser la création d'applications crud qui gèrent habilement les données avec un backend fiable comprendre comment concevoir un schéma de données extensible et le connecter à un frontend ractive js utiliser une interface de gestion par glisser déposer (back4app admin app) pour des actions crud sans effort apprendre des stratégies de déploiement, y compris la conteneurisation docker pour des lancements rapides d'applications web prérequis avant de commencer, assurez vous d'avoir un compte back4app actif avec un nouveau projet créé consultez démarrer avec back4app https //www back4app com/docs/get started/new parse app pour des conseils une configuration de développement ractive js configurez votre projet en utilisant un modèle ou votre configuration préférée, en vous assurant d'avoir node js (v14 ou version ultérieure) installé connaissances de base en javascript, ractive js et api rest consultez la documentation ractive js https //ractive js org/ si nécessaire étape 1 – initialisation du projet démarrer un nouveau projet back4app connectez vous à votre compte back4app sélectionnez l'option “nouvelle application” sur votre tableau de bord nommez votre projet basic crud app ractive et suivez les instructions à l'écran pour le créer créer un nouveau projet après la configuration, votre projet sera visible sur le tableau de bord, prêt pour une configuration backend supplémentaire étape 2 – conception de votre schéma de base de données création de votre modèle de données pour cette application crud, vous définirez plusieurs collections pour gérer vos données voici des exemples de collections avec des champs et types de données suggérés, garantissant que le backend est optimisé pour les fonctionnalités crud 1\ collection articles cette collection contient des détails pour chaque article champ type but id identifiant d'objet identifiant principal généré automatiquement titre chaîne titre de l'article description chaîne résumé bref de l'élément créé à date horodatage de création de l'enregistrement mis à jour le date dernière mise à jour 2\ collection utilisateurs cette collection gère les données utilisateur et l'authentification champ type but id identifiant d'objet identifiant principal généré automatiquement nom d'utilisateur chaîne identifiant 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é pour une authentification 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 établir manuellement ces collections via le tableau de bord back4app en créant de nouvelles classes et en ajoutant les colonnes requises créer une nouvelle classe définissez les champs en sélectionnant le type de données approprié, en nommant la colonne et en définissant des valeurs par défaut ou requises créer une colonne utilisation de l'agent ai back4app pour l'automatisation du schéma l'agent ai back4app peut générer automatiquement votre schéma en fonction de votre demande cet outil efficace simplifie la gestion de projet en établissant rapidement vos collections et champs comment faire fonctionner l'agent ai accédez à l'agent ai depuis le tableau de bord de votre projet entrez une demande détaillée décrivant vos collections et champs souhaités examinez et appliquez le schéma généré automatiquement à votre projet exemple de demande create these collections for 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 garantit que votre schéma est cohérent et adapté aux besoins de votre application étape 3 – activation de l'application admin et gestion des opérations crud à propos de l'interface admin l'application admin back4app offre une solution sans code pour gérer vos données backend son interface de glisser déposer permet d'effectuer facilement des opérations crud telles que l'ajout, la modification ou la suppression d'enregistrements comment activer l'application admin allez dans le menu “plus” sur votre tableau de bord back4app sélectionnez “admin app” et cliquez sur “activer l'application admin ” configurez votre premier utilisateur admin, ce qui configure également les rôles (comme b4aadminuser ) et les collections système activer l'application admin une fois activée, connectez vous à l'application admin pour gérer vos collections tableau de bord de l'application admin gestion des données via l'application admin ajout d'entrées utilisez l'option “ajouter un enregistrement” dans une collection (comme articles) pour saisir de nouvelles données visualisation/modification des enregistrements sélectionnez un enregistrement pour inspecter les détails ou mettre à jour les champs suppression d'entrées utilisez la fonction de suppression pour éliminer les enregistrements obsolètes cette interface conviviale rationalise toutes les fonctions crud étape 4 – connecter ractive js avec back4app maintenant que votre backend est prêt, il est temps de connecter votre frontend ractive js à back4app utilisation des appels api rest avec ractive js puisque ractive js n'a pas de sdk parse dédié, vous utiliserez des appels d'api rest pour effectuer des opérations crud exemple récupération d'éléments créez un composant ractive qui récupère et affiche des données de votre collection d'éléments back4app items html items list {{#each items}} {{title}} {{description}} edit delete {{/each}} add new item add items js import ractive from "ractive"; const api url = "https //parseapi back4app com/classes/items"; const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; const ractive = new ractive({ target "#items container", template "#items template", data { items \[], newtitle "", newdescription "" } }); // function to load items async function loaditems() { try { const response = await fetch(api url, { headers headers }); const result = await response json(); ractive set("items", result results map(item => ({ id item objectid, title item title, description item description }))); } catch (error) { console error("error fetching items ", error); } } ractive on("additem", async function () { const title = ractive get("newtitle"); const description = ractive get("newdescription"); try { await fetch(api url, { method "post", headers headers, body json stringify({ title, description }) }); ractive set({ newtitle "", newdescription "" }); loaditems(); } catch (error) { console error("error adding item ", error); } }); // additional functions for editing and deleting would follow a similar rest approach loaditems(); import ractive from "ractive"; const api url = "https //parseapi back4app com/classes/items"; const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; const ractive = new ractive({ target "#items container", template "#items template", data { items \[], newtitle "", newdescription "" } }); // function to load items async function loaditems() { try { const response = await fetch(api url, { headers headers }); const result = await response json(); ractive set("items", result results map(item => ({ id item objectid, title item title, description item description }))); } catch (error) { console error("error fetching items ", error); } } ractive on("additem", async function () { const title = ractive get("newtitle"); const description = ractive get("newdescription"); try { await fetch(api url, { method "post", headers headers, body json stringify({ title, description }) }); ractive set({ newtitle "", newdescription "" }); loaditems(); } catch (error) { console error("error adding item ", error); } }); // additional functions for editing and deleting would follow a similar rest approach loaditems(); import ractive from "ractive"; const api url = "https //parseapi back4app com/classes/items"; const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; const ractive = new ractive({ target "#items container", template "#items template", data { items \[], newtitle "", newdescription "" } }); // function to load items async function loaditems() { try { const response = await fetch(api url, { headers headers }); const result = await response json(); ractive set("items", result results map(item => ({ id item objectid, title item title, description item description }))); } catch (error) { console error("error fetching items ", error); } } ractive on("additem", async function () { const title = ractive get("newtitle"); const description = ractive get("newdescription"); try { await fetch(api url, { method "post", headers headers, body json stringify({ title, description }) }); ractive set({ newtitle "", newdescription "" }); loaditems(); } catch (error) { console error("error adding item ", error); } }); // additional functions for editing and deleting would follow a similar rest approach loaditems(); vous pouvez intégrer ces interactions api dans vos composants ractive js pour gérer toutes les opérations crud étape 5 – renforcement de la sécurité du backend mise en œuvre des contrôles d'accès améliorez la sécurité en définissant des listes de contrôle d'accès (acl) sur vos objets par exemple, pour rendre un élément privé async function createprivateitem(itemdata, owneruserid) { const data = { title itemdata title, description itemdata description, acl { \[owneruserid] { read true, write true }, " " { read false, write false } } }; try { const response = await fetch(api url, { method "post", headers headers, body json stringify(data) }); const result = await response json(); console log("private item created ", result); } catch (error) { console error("error creating private item ", error); } } configuration des autorisations au niveau de la classe dans le tableau de bord back4app, ajustez les autorisations au niveau de la classe (clp) pour chaque collection afin de définir les politiques d'accès par défaut cette étape garantit que seuls les utilisateurs autorisés peuvent accéder aux données sensibles étape 6 – gestion de l'authentification des utilisateurs configuration des comptes utilisateurs back4app utilise la classe utilisateur de parse pour gérer l'authentification implémentez l'enregistrement et la connexion des utilisateurs via des appels api rest dans votre application ractive js exemple inscription d'un utilisateur async function signupuser(username, email, password) { const response = await fetch("https //parseapi back4app com/users", { method "post", headers headers, body json stringify({ username, email, password }) }); const result = await response json(); if (result objectid) { alert("user registered successfully!"); } else { alert("error during sign up " + result error); } } implémentez des routines similaires pour la connexion et la gestion des sessions des fonctionnalités supplémentaires comme la récupération de mot de passe et la vérification par e mail peuvent être configurées via le tableau de bord back4app étape 7 – déploiement de votre frontend ractive js la fonctionnalité de déploiement web de back4app vous permet d'héberger votre application ractive js en la liant à votre dépôt github 7 1 construction de votre version de production ouvrez votre dossier de projet dans un terminal exécutez le processus de construction (cela peut être une commande personnalisée en fonction de votre configuration, par exemple, en utilisant rollup ou webpack) assurez vous que votre dossier de production (généralement nommé dist ou build ) contient vos fichiers statiques 7 2 organiser et valider votre code votre dépôt de projet doit avoir une structure claire, par exemple basic crud app ractive/ \| node modules/ \| public/ \| └── index html \| src/ \| ├── main js \| ├── ractiveconfig js \| └── components/ \| ├── items html \| └── auth html \| package json \| readme md fichier d'exemple ractiveconfig js // ractiveconfig js // this file can include global configuration for your ractive app export const api url = "https //parseapi back4app com"; export const headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" }; valider votre code initialiser un dépôt git git init ajouter vos fichiers git add valider les modifications git commit m "validation initiale pour le frontend ractive js" créer un dépôt github (par exemple, basic crud app ractive ) et pousser votre code git remote add origin https //github com/votre nom utilisateur/basic crud app ractive git git push u origin main 7 3 lier votre dépôt à la déploiement web de back4app connectez vous à votre tableau de bord back4app, sélectionnez votre projet ( basic crud app ractive ), et choisissez l'option web deployment connectez votre compte github comme demandé sélectionnez le dépôt et la branche (généralement main ) qui contient votre code ractive js 7 4 configuration des paramètres de déploiement configurez les éléments suivants commande de construction spécifiez votre commande de construction (par exemple, npm run build ) répertoire de sortie définissez le sur votre dossier de production (par exemple, build ou dist ) variables d'environnement incluez toutes les clés api ou variables de configuration nécessaires 7 5 conteneurisation avec docker (optionnel) si vous souhaitez déployer via docker, incluez un dockerfile dans votre projet \# base build stage using node js 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 the entire app and build it copy run npm run build \# production stage using nginx from nginx\ stable alpine copy from=build /app/build /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] 7 6 lancement de votre application cliquez sur le déployer bouton dans back4app surveillez le processus de déploiement pendant que back4app tire et construit votre dépôt une fois terminé, back4app fournira une url pour votre application ractive js hébergée 7 7 vérification du déploiement ouvrez l'url fournie dans votre navigateur testez tous les itinéraires, en vous assurant que chaque élément (css, js, images) se charge correctement si des problèmes surviennent, consultez les journaux de déploiement et vérifiez vos paramètres de construction étape 8 – conclusion et orientations futures excellent travail ! vous avez réussi à construire une application crud complète en utilisant ractive js et back4app vous avez configuré un projet nommé basic crud app ractive , défini des collections précises pour les articles et les utilisateurs, et utilisé l'admin app intuitif pour la gestion du backend de plus, vous avez intégré votre frontend ractive js avec le backend et renforcé la sécurité de vos données prochaines étapes améliorez votre interface utilisateur ajoutez des fonctionnalités comme des vues détaillées, des fonctions de recherche ou des mises à jour en temps réel développez votre backend intégrez une logique backend avancée telle que des fonctions cloud ou des services api tiers approfondissez votre apprentissage explorez la documentation de back4app https //www back4app com/docs pour des configurations et optimisations plus avancées avec ce tutoriel, vous avez maintenant l'expertise pour créer un backend crud évolutif pour votre application ractive js en utilisant back4app bon codage !