Après avoir abordé les concepts de base et intermédiaires de la création d'API dans NodeJS, nous avons atteint le point crucial de notre cours e-book : la création d'un CRUD (Create, Read, Update, Delete) avec NodeJS et MongoDB, et le déploiement de notre application. Ce chapitre 16.13 vous guidera étape par étape pour accomplir cette tâche très importante.
Préparer l'environnement
Tout d'abord, assurez-vous que NodeJS et MongoDB sont installés sur votre système. Sinon, vous pouvez les télécharger et les installer depuis leurs sites officiels. De plus, nous aurons besoin de Postman pour tester nos API et de Heroku CLI pour déployer notre application.
Création du projet NodeJS
Pour créer un nouveau projet NodeJS, ouvrez le terminal et accédez au répertoire dans lequel vous souhaitez créer le projet. Exécutez ensuite la commande "npm init" pour initialiser un nouveau projet. Cela créera un nouveau fichier "package.json" dans votre répertoire, qui contient des informations sur votre projet et les dépendances dont il a besoin.
Installation des dépendances
Pour notre projet, nous aurons besoin de quelques dépendances : express, mongoose, body-parser et nodemon. Pour les installer, exécutez la commande "npm install express mongoose body-parser nodemon".
Création du serveur Express
Maintenant, créons notre serveur Express. Créez un nouveau fichier appelé "server.js" et ajoutez le code suivant :
```javascript const express = require('express'); const app = express(); const port = processus.env.PORT || 3000 ; app.écouter(port, () => { console.log(`Le serveur s'exécute sur le port ${port}`); }); ```Ce code crée un nouveau serveur Express qui écoute sur le port 3000.
Connexion à MongoDB
Pour nous connecter à MongoDB, nous devons utiliser Mongoose, une bibliothèque qui nous permet d'interagir avec MongoDB de manière simple et directe. Ajoutez le code suivant à votre "server.js" :
```javascript const mangouste = require('mangouste'); mongoose.connect('mongodb://localhost/test', { useNewUrlParser : true, useUnifiedTopology : true }) .then(() => console.log('Connecté à MongoDB')) .catch(err => console.error('Impossible de se connecter à MongoDB', err)); ```Ce code se connecte à MongoDB exécuté localement sur votre machine.
Création du CRUD
Pour créer le CRUD, nous devons d'abord définir un modèle pour nos données. Créez un nouveau fichier appelé "user.model.js" et ajoutez le code suivant :
```javascript const mangouste = require('mangouste'); const Utilisateur = mongoose.model('Utilisateur', new mongoose.Schema({ nom : chaîne, email : chaîne, mot de passe : chaîne })); module.exports = Utilisateur ; ```Ce code définit un modèle utilisateur avec trois champs : nom, email et mot de passe.
Maintenant, créons les routes pour notre CRUD. Créez un nouveau fichier appelé "user.routes.js" et ajoutez le code suivant :
```javascript const express = require('express'); const routeur = express.Router(); const Utilisateur = require('./user.model'); router.post('/', async (req, res) => { laissez l'utilisateur = nouvel utilisateur ({ nom : req.body.name, email : req.body.email, mot de passe : req.body.password }); utilisateur = attendre utilisateur.save(); res.send(utilisateur); }); router.get('/', async (req, res) => { const utilisateurs = attendre User.find(); res.send(utilisateurs); }); router.get('/:id', async (req, res) => { const user = attendre User.findById(req.params.id); if (!user) return res.status(404).send('L'utilisateur avec l'ID donné n'a pas été trouvé.'); res.send(utilisateur); }); router.put('/:id', async (req, res) => { const user = attendre User.findByIdAndUpdate(req.params.id, { nom : req.body.name, email : req.body.email, mot de passe : req.body.password }, { nouveau : vrai }); if (!user) return res.status(404).send('L'utilisateur avec l'ID donné n'a pas été trouvé.'); res.send(utilisateur); }); router.delete('/:id', async (req, res) => { const user = attendre User.findByIdAndRemove(req.params.id); if (!user) return res.status(404).send('L'utilisateur avec l'ID donné n'a pas été trouvé.'); res.send(utilisateur); }); module.exports = routeur ; ```Ce code crée les itinéraires pour créer, lire, mettre à jour et supprimer des utilisateurs.
Déploiement d'applications
Enfin, déployons notre application. Pour cela, nous allons utiliser Heroku, une plateforme d'hébergement d'applications cloud. Tout d'abord, nous devons créer un fichier appelé "Procfile" dans le répertoire racine de notre projet. Ce fichier indique à Heroku comment démarrer notre application. Ajoutez le code suivant au "Procfile" :
``` Web : nœud serveur.js ```Ensuite, nous devons initialiser un nouveau dépôt Git dans notre projet. Exécutez les commandes "git init" et "git add". pour ajouter tous les fichiers au référentiel. Exécutez ensuite "git commit -m 'Initial commit'" pour valider les fichiers.
Maintenant, nous devons créer une nouvelle application sur Heroku. Pour ce faire, exécutez la commande "heroku create". Cela créera une nouvelle application et ajoutera une nouvelle télécommande Git appelée "heroku" à vos dépôts.histoire.
Enfin, nous pouvons déployer notre application. Pour ce faire, exécutez la commande "git push heroku master". Cela enverra notre code d'application à Heroku, qui construira et lancera l'application.
Félicitations ! Vous venez de créer et déployer une application CRUD avec NodeJS et MongoDB ! Vous pouvez désormais accéder à votre candidature à l'adresse fournie par Heroku.