How to Build a Basic CRUD App with Next.js?
Dans ce guide, nous allons parcourir la création d'une application CRUD complète (créer, lire, mettre à jour, supprimer) en utilisant Next.js pour votre frontend, associé à Back4app comme solution backend.
Vous allez configurer un projet nommé Basic-CRUD-App-NextJS, concevoir un schéma de base de données dynamique et intégrer une fonctionnalité CRUD robuste dans votre application Next.js.
Nous couvrirons tout, de la configuration de votre projet Back4app et de la conception des collections à la connexion de votre interface Next.js en utilisant le SDK Parse ou les méthodes REST/GraphQL.
À la fin, vous aurez une application web prête pour la production avec une authentification utilisateur sécurisée et une gestion efficace des données.
- Construire une application CRUD complète avec Next.js et Back4app.
- Apprendre à concevoir un schéma backend flexible adapté à vos besoins en données.
- Utiliser une interface Admin intuitive, par glisser-déposer, pour la gestion des données.
- Découvrir les meilleures pratiques pour le déploiement, y compris la conteneurisation Docker et l'intégration GitHub.
Avant de commencer, assurez-vous d'avoir :
- Un compte Back4app avec un nouveau projet configuré. Pour des conseils, consultez Démarrer avec Back4app.
- Un environnement de développement Next.js. Utilisez Créer une application Next ou un outil similaire. Assurez-vous que Node.js (version 14 ou ultérieure) est installé.
- Une compréhension de base de JavaScript, Next.js et des intégrations API. Visitez la documentation de Next.js pour un aperçu si nécessaire.
- Connectez-vous à votre compte Back4app.
- Cliquez sur le bouton “Nouvelle application” sur votre tableau de bord.
- Entrez le nom du projet : Basic-CRUD-App-NextJS et suivez les instructions.
Votre nouveau projet apparaît dans le tableau de bord, servant de noyau pour votre backend.
Ouvrez votre terminal et exécutez :
Changez de répertoire vers votre projet :
Cette commande configure un cadre de projet Next.js prêt pour la personnalisation.
Pour cette application CRUD, vous allez créer des collections essentielles. Ci-dessous se trouvent deux collections principales avec des détails de champ qui permettent les fonctionnalités de base.
Cette collection stocke des détails sur chaque article.
Champ | Type de données | Description |
---|---|---|
_id | Identifiant d'objet | Identifiant unique généré automatiquement. |
titre | Chaîne | Le nom ou le titre de l'article. |
description | Chaîne | Un bref résumé de l'article. |
créé à | Date | Horodatage lorsque l'élément est créé. |
mis à jour le | Date | Horodatage de la dernière mise à jour. |
Cette collection gère les profils d'utilisateur et les données d'authentification.
Champ | Type de données | Description |
---|---|---|
_id | Identifiant d'objet | Identifiant unique généré automatiquement. |
nom d'utilisateur | Chaîne | Nom d'utilisateur unique pour l'utilisateur. |
Chaîne | Adresse e-mail unique. | |
hash_de_mot_de_passe | Chaîne | Mot de passe haché de manière sécurisée pour l'authentification de l'utilisateur. |
créé à | Date | Horodatage de la création du compte. |
mis à jour le | Date | Horodatage de la dernière mise à jour du compte. |
Vous pouvez définir manuellement ces collections dans le tableau de bord Back4app en créant une nouvelle classe pour chaque collection et en ajoutant les colonnes pertinentes.
Créez des champs en choisissant le type de données approprié, en nommant la colonne et en définissant des valeurs par défaut ou des exigences.
L'assistant AI de Back4app simplifie la génération de schémas de base de données. Décrivez vos collections et champs souhaités, et laissez l'assistant générer automatiquement la structure.
- Ouvrez l'assistant AI : Trouvez-le dans le menu de votre tableau de bord Back4app.
- Décrivez votre modèle de données : Collez un prompt détaillé décrivant vos collections et exigences de champ.
- Examinez et appliquez : Vérifiez le schéma généré et mettez-le en œuvre dans votre projet.
Cette méthode non seulement fait gagner du temps mais garantit également que votre schéma est cohérent et optimisé.
L'interface d'administration Back4app offre une solution sans code pour gérer vos données backend. Avec son système intuitif de glisser-déposer, vous pouvez facilement effectuer des opérations CRUD.
- Accédez à la section “Plus” dans votre tableau de bord Back4app.
- Cliquez sur “Admin App” puis sélectionnez “Activer l'application Admin.”
- Configurez vos identifiants d'administrateur en configurant votre premier utilisateur administrateur. Cela établit également des rôles comme B4aAdminUser et les collections système nécessaires.
Après activation, connectez-vous à l'interface d'administration pour commencer à gérer vos données.
Dans l'interface d'administration, vous pouvez :
- Créer des enregistrements : Utilisez le bouton “Ajouter un enregistrement” dans une collection (par exemple, Articles) pour insérer de nouvelles données.
- Voir ou mettre à jour des enregistrements : Cliquez sur un enregistrement pour inspecter ou modifier ses champs.
- Supprimer des enregistrements : Utilisez l'option de suppression pour retirer les entrées obsolètes.
Cette interface simplifiée rend la gestion des données claire et efficace.
Avec votre backend configuré, l'étape suivante consiste à connecter votre application Next.js.
- Installer le SDK Parse :
- Initialiser Parse dans votre application Next.js : Créer un fichier (par exemple, lib/parseConfig.js) :
- Intégrer Parse dans une page Next.js : Par exemple, créez une page pour récupérer et afficher des éléments.
Si vous préférez ne pas utiliser le SDK Parse, vous pouvez gérer les opérations CRUD avec REST ou GraphQL. Par exemple, pour récupérer des éléments via REST :
Intégrez ces appels API dans vos composants Next.js selon vos besoins.
Sécurisez vos données en attribuant des ACL aux objets. Par exemple, pour créer un élément auquel seul son propriétaire peut accéder :
Dans le tableau de bord Back4app, ajustez les CLP pour chaque collection afin de restreindre l'accès aux données uniquement aux utilisateurs autorisés.
Back4app utilise la classe Utilisateur intégrée de Parse pour l'authentification. Dans votre application Next.js, gérez l'inscription et la connexion comme indiqué ci-dessous :
Une approche similaire peut être utilisée pour la gestion des connexions et des sessions. Vous pouvez également activer des fonctionnalités supplémentaires telles que les connexions sociales, la vérification par e-mail et la récupération de mot de passe via le tableau de bord Back4app.
Les options de déploiement de Back4app vous permettent d'héberger votre application Next.js sans effort, que ce soit par intégration GitHub ou containerisation Docker.
- Ouvrez votre répertoire de projet dans le terminal.
- Exécutez la commande de construction :
Cela génère un .next dossier contenant des fichiers statiques et rendus par le serveur optimisés.
Votre dépôt doit contenir tous les fichiers source de votre application Next.js. Une structure typique pourrait être :
(Référez-vous au code fourni à l'étape 4)
- Initialiser un dépôt Git :
- Ajouter tous les fichiers :
- Engagez vos modifications :
- Créer un dépôt GitHub : Par exemple, nommez-le basic-crud-app-nextjs.
- Poussez votre code :
- Accéder au déploiement Web : Connectez-vous à votre tableau de bord Back4app, accédez à votre projet et sélectionnez la fonctionnalité de déploiement Web.
- Connectez votre compte GitHub : Suivez les instructions pour lier votre dépôt.
- Sélectionnez votre dépôt et votre branche : Choisissez le dépôt (par exemple, basic-crud-app-nextjs) et la branche (par exemple, main) contenant votre code.
- Commande de construction : Si votre dépôt ne comprend pas de dossier pré-construit .next, spécifiez la commande (par exemple, npm run build).
- Répertoire de sortie : Définissez le répertoire de sortie sur .next afin que Back4app sache où se trouvent vos fichiers compilés.
- Variables d'environnement : Ajoutez toutes les variables d'environnement nécessaires, telles que les clés API.
Si vous préférez Docker pour le déploiement, incluez un Dockerfile dans votre dépôt :
Sélectionnez l'option de déploiement Docker dans Back4app pour conteneuriser et déployer votre application.
- Déployez votre application : Cliquez sur le Déployer bouton dans Back4app.
- Surveillez le processus de construction : Back4app récupérera votre code, exécutera la commande de construction et déploiera votre application.
- Accédez à votre application en direct : Une fois le déploiement terminé, une URL sera fournie où votre application Next.js est hébergée.
- Visitez l'URL fournie : Ouvrez l'URL dans votre navigateur.
- Testez la fonctionnalité : Assurez-vous que vos pages se chargent correctement et que toutes les opérations CRUD fonctionnent.
- Déboguez si nécessaire : Utilisez les outils de développement du navigateur et les journaux de Back4app pour diagnostiquer tout problème.
Félicitations ! Vous avez construit avec succès une application CRUD robuste avec Next.js et Back4app. Vous avez configuré votre projet, conçu des collections sur mesure et connecté votre frontend Next.js à un backend sécurisé.
Prochaines étapes :
- Améliorez votre frontend : Développez votre application Next.js avec des fonctionnalités avancées telles que des vues détaillées, une fonctionnalité de recherche ou des mises à jour en temps réel.
- Augmentez votre backend : Explorez les fonctions Cloud, les intégrations tierces ou des contrôles d'accès supplémentaires.
- Continuez à apprendre : Visitez la documentation de Back4app et les ressources Next.js pour une optimisation et une personnalisation supplémentaires.
En suivant ce tutoriel, vous possédez désormais les compétences nécessaires pour créer une application CRUD évolutive et sécurisée en utilisant Next.js et Back4app. Bon codage !
