Quickstarters
CRUD Samples
Comment construire une application CRUD de base avec Solid ?
34 min
aperçu dans ce guide, vous apprendrez à développer une application crud complète (créer, lire, mettre à jour, supprimer) en utilisant solidjs nous utiliserons back4app comme notre service backend, vous permettant de gérer les données sans effort ce guide vous accompagne dans l'établissement d'un projet back4app, la création d'un schéma de données flexible et le codage des opérations crud au sein d'une application solidjs dans un premier temps, vous allez configurer un projet back4app appelé basic crud app solidjs ce projet fournit un environnement de stockage de données robuste et sans schéma vous définirez votre modèle de données en créant des collections et des champs soit manuellement, soit avec l'aide de l'agent ia de back4app ensuite, vous gérerez vos données backend à l'aide de l'application admin de back4app, conviviale enfin, vous intégrerez votre application solidjs avec back4app via le sdk javascript parse (ou via les api rest/graphql si nécessaire) tout en appliquant des contrôles d'accès sécurisés à la fin de ce tutoriel, vous disposerez d'une application solidjs prête pour la production qui effectue des fonctions crud essentielles ainsi qu'une authentification utilisateur sécurisée et une gestion des données ce que vous apprendrez comment créer une application crud basée sur solidjs avec un backend moderne sans code meilleures pratiques pour concevoir un backend évolutif et le connecter à votre application solidjs comment naviguer dans l'application back4app admin pour des opérations de données simplifiées stratégies de déploiement, y compris la conteneurisation docker, pour lancer votre application solidjs sans problème prérequis avant de commencer, assurez vous d'avoir un compte back4app avec un projet actif besoin d'aide ? visitez commencer avec back4app https //www back4app com/docs/get started/new parse app un environnement de développement configuré pour solidjs nous recommandons d'utiliser visual studio code ou tout éditeur de votre choix, ainsi que node js (v14 ou supérieur) connaissances de base en solidjs, javascript moderne et apis restful rafraîchissez vos connaissances avec la documentation de solidjs https //www solidjs com/docs si nécessaire étape 1 – initialisation du projet configuration de votre projet back4app connectez vous à votre compte back4app cliquez sur le bouton “nouvelle application” sur votre tableau de bord nommez votre projet basic crud app solidjs et suivez les instructions pour compléter la configuration créer un nouveau projet après avoir créé votre projet, il apparaîtra sur votre tableau de bord, posant les bases de votre backend étape 2 – élaboration de votre schéma de données conception de la structure des données pour cette application crud, vous allez configurer plusieurs collections dans votre projet back4app ci dessous, des exemples des principales collections et des champs requis 1\ collection articles cette collection stocke des informations sur chaque article champ type but id identifiant d'objet identifiant unique généré automatiquement titre chaîne nom de l'article description chaîne brève description de l'article créé à date horodatage lorsque l'élément a été ajouté mis à jour le date horodatage de la dernière mise à jour 2\ collection utilisateurs cette collection gère les identifiants et les données d'authentification des utilisateurs champ type but id identifiant d'objet identifiant unique généré automatiquement nom d'utilisateur chaîne identifiant unique de l'utilisateur email chaîne adresse e mail unique hashdemotdepasse chaîne mot de passe crypté pour un accès sécurisé créé à date horodatage de création du compte mis à jour le date horodatage de la dernière mise à jour du compte vous pouvez créer ces collections et ajouter des champs via le tableau de bord back4app créer une nouvelle classe pour ajouter un nouveau champ, choisissez le type de données approprié, définissez le nom du champ, attribuez une valeur par défaut si nécessaire et marquez le comme requis si nécessaire créer une colonne utiliser l'assistant ai de back4app pour la création de schéma l'assistant ai intégré de back4app peut automatiquement créer votre schéma de données en fonction de vos instructions, vous faisant gagner du temps et garantissant la cohérence comment utiliser l'assistant ai ouvrir l'assistant ai accédez y via les paramètres de votre projet dans le tableau de bord back4app détailler votre modèle de données entrez une description détaillée des collections et des champs requis confirmer la configuration examinez le schéma suggéré et approuvez pour finaliser la configuration exemple de prompt create two 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 alimentée par l'ia rationalise votre processus de création de schéma, garantissant un modèle de données optimisé étape 3 – activation du tableau de bord admin et gestion des opérations de données introduction au tableau de bord admin le tableau de bord admin de back4app fournit une interface sans code pour une gestion efficace du backend ses fonctionnalités de glisser déposer facilitent l'exécution des tâches crud telles que l'ajout, la visualisation, la mise à jour et la suppression d'enregistrements activation du tableau de bord admin allez dans le menu “plus” dans votre tableau de bord back4app sélectionnez “admin app” et cliquez sur “activer l'application admin ” configurez vos identifiants d'administrateur en créant un compte administrateur initial cela établira également les rôles nécessaires (comme b4aadminuser ) et les collections système activer l'application admin après activation, connectez vous au tableau de bord admin pour gérer les données de votre application tableau de bord de l'application admin gestion des opérations crud dans le tableau de bord admin dans le tableau de bord, vous pouvez ajouter des enregistrements utilisez la fonction “ajouter un enregistrement” dans n'importe quelle collection (par exemple, articles) pour saisir de nouvelles données voir/modifier des enregistrements cliquez sur une entrée pour inspecter ou modifier ses détails supprimer des enregistrements supprimez les entrées obsolètes ou indésirables cette interface simplifie la gestion des données, offrant une expérience efficace et intuitive étape 4 – connecter votre application solidjs avec back4app avec le backend en place, l'étape suivante consiste à lier votre application solidjs à 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 configurez parse dans votre application créez un fichier de configuration (par exemple, parseconfig js ) // parseconfig js import parse from 'parse'; parse initialize("your application id", "your javascript key"); parse serverurl = 'https //parseapi back4app com'; export default parse; 3\ implement crud operations in solidjs here’s an example solidjs service for managing items ```javascript // itemsservice js import parse from ' /parseconfig'; export const fetchitems = async () => { try { const items = parse object extend("items"); const query = new parse query(items); const results = await query find(); return results; } catch (error) { console error("error retrieving items ", error); } }; export const additem = async (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 added successfully "); } catch (error) { console error("error adding item ", error); } }; export const updateitem = async (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); } }; export const deleteitem = async (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); } }; option b utiliser les api rest ou graphql si vous préférez ne pas utiliser le sdk parse, vous pouvez exécuter des opérations crud via rest par exemple, voici comment récupérer des éléments en utilisant l'api rest export const fetchitemsrest = async () => { try { const response = await fetch("https //parseapi back4app com/classes/items", { method "get", headers { "x parse application id" "your application id", "x parse rest api key" "your rest api key", }, }); const data = await response json(); return data results; } catch (error) { console error("error fetching items via rest ", error); } }; intégrez ces appels api dans vos composants solidjs selon vos besoins étape 5 – amélioration de la sécurité backend configuration des listes de contrôle d'accès (acl) protégez vos données en configurant des acl pour chaque objet par exemple, pour restreindre un élément afin que seul son propriétaire puisse y accéder import parse from ' /parseconfig'; export const addprivateitem = async (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 added "); } catch (error) { console error("error saving private item ", error); } }; configuration des autorisations au niveau de la classe (clp) configurez les clp dans votre tableau de bord back4app pour appliquer des restrictions d'accès par défaut, garantissant que seuls les utilisateurs autorisés peuvent interagir avec certaines collections étape 6 – mise en œuvre de l'authentification des utilisateurs gestion des comptes utilisateurs back4app utilise la collection d'utilisateurs parse intégrée pour l'authentification dans votre application solidjs, gérez l'enregistrement et la connexion des utilisateurs comme suit import parse from ' /parseconfig'; export const registeruser = async (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("registration error ", error); } }; export const loginuser = async (username, password) => { try { const user = await parse user login(username, password); console log("logged in as ", user get("username")); } catch (error) { console error("login error ", error); } }; une stratégie similaire peut être adoptée pour la gestion des sessions, les réinitialisations de mot de passe et d'autres fonctionnalités d'authentification étape 7 – déployer votre application solidjs back4app simplifie le processus de déploiement vous pouvez déployer votre application solidjs par divers moyens, y compris docker 7 1 préparer votre application construisez votre application utilisez votre gestionnaire de paquets pour compiler votre application solidjs par exemple npm run build vérifiez la sortie de construction assurez vous que le dossier de construction contient tous les fichiers nécessaires 7 2 organiser la structure de votre projet une structure de projet typique pourrait ressembler à basic crud app solidjs/ \| public/ \| | index html \| src/ \| | components/ \| | | app jsx \| | services/ \| | | parseconfig js \| | | itemsservice js \| | | authservice js \| | index jsx \| package json \| readme md 7 3 dockeriser votre application si vous souhaitez containeriser votre application, créez un dockerfile à la racine du projet \# use a lightweight node image from node 16 alpine \# set the working directory workdir /app \# copy package files and install dependencies copy package json package lock json / run npm install \# copy the rest of the application code copy \# build the application run npm run build \# expose the port (adjust if needed) expose 3000 \# serve the built application cmd \["npx", "serve", "build"] 7 4 déploiement avec le déploiement web back4app connectez votre dépôt git assurez vous que votre projet solidjs est hébergé sur github configurer le déploiement dans votre tableau de bord back4app, choisissez déploiement web , liez votre dépôt (par exemple, basic crud app solidjs ), et sélectionnez la branche appropriée définir les commandes de construction définissez la commande de construction (par exemple, npm run build ) et spécifiez le répertoire de sortie déployez votre application cliquez sur déployer et surveillez les journaux jusqu'à ce que votre application soit en ligne étape 8 – dernières réflexions et améliorations futures super travail ! vous avez réussi à créer une application crud solidjs intégrée à back4app vous avez configuré un projet nommé basic crud app solidjs , défini vos collections d'items et d'users, et géré les données via le tableau de bord administrateur de back4app de plus, vous avez connecté votre application solidjs en utilisant le sdk javascript parse (ou rest/graphql) et appliqué des mesures de sécurité solides prochaines étapes développez l'application ajoutez des fonctionnalités avancées comme des filtres de recherche, des vues détaillées des articles ou des mises à jour de données en temps réel améliorez le backend expérimentez avec des fonctions cloud, des intégrations d'api tierces ou une gestion des accès basée sur les rôles en savoir plus plongez dans la documentation de back4app https //www back4app com/docs et des tutoriels supplémentaires solidjs pour affiner davantage votre application bonne programmation et bonne chance avec votre projet crud solidjs !