DEV Community

Sid Ali BENTIFRAOUINE
Sid Ali BENTIFRAOUINE

Posted on • Edited on

Développer une API Rest avec NodeJS, Express et MongoDB: #1 Configuration du projet

Configuration de ma machine

Trucs à installer avant de démarrer

Vérification des installations

J’ouvre mon terminal.
En tant qu'utilisateur Windows, j'ouvre GitBash. J’arrête d’utiliser le Shell de windows ou l’outil de commande integré et je lance.

node --version
# v16.17.0
npm --version
# 8.15.0
git --version
# git version 2.32.1 ou 3
Enter fullscreen mode Exit fullscreen mode

Initialisation de mon projet

Mon dossier de travail

  • J’ouvre mon terminal (GitBash si je suis sur Windows. Terminal, iTerm2 si je suis sur Mac…etc…)
  • Je crée un nouveau dossier, il faut que je sache facilement le retrouver
mkdir blitz-node
cd blitz-node
Enter fullscreen mode Exit fullscreen mode

J’initialise mon projet code

# 1. Je m'assure que je suis dans le bon dossier
pwd
# /Users/sidali/Development/clones/blitz-express

# 2. J'initialise un projet Node
npm init -y
Enter fullscreen mode Exit fullscreen mode

Je peux ouvrir mon Visual Studio Code

J'ouvre mon projet sous Visual Studio Code 1
J'ouvre mon projet sous Visual Studio Code 1

Je fais attention à bien ouvrir mon dossier dont le nom est blitz-node, pas le dossier le contenant, ni celui d’avant, mais le dossier exact: blitz-node

Si j’ai fait les choses correctement, je devrait voir un fichier package.json.

Rappel: Je n’hésite pas à interrompre le professeur dire quand quelque chose ne fonctionne pas comme prévu. Il se fera plaisir de m’aider 🙂

J’installe ce dont j’ai besoin

npm i express mongoose nodemon dotenv
Enter fullscreen mode Exit fullscreen mode

Explications

express

Framework de développement Node, permet de faire facilement les chose que fait Node aussi mais en moins compliqué.

mongoose

Nous permet de me connecter et d’interagir avec une base de donnée MongoDB

nodemon

Simplifie le développement en rechargeant mon serveur automatiquement lors de changement niveau code.
Ça va plus vite que quand j’éteint et rallume le serveur manuellement à chaque fois que je fais un changement.

dotenv

Me permets d’ajouter des variables d’environnement, mon code ne doit pas faire les memes chose en développement vs en prod.

Par exemple, je me connecte au serveur de Spotify de test pour récupérer des musiques.
Mais en production je me connecte à leur serveur de prod, plus rapide et plus sécurisé.

.gitignore

Afin d’éviter que je pollue mon repo Git, je crée un fichier à la racine du projet: .gitignore et je copie le code suivant:

node_modules/
Enter fullscreen mode Exit fullscreen mode

Ce fichier permettra à Git d’ignorer ce que je spécifie dedans. Dont le dossier node_modules qui va contenir tous les modules installés localement.
Il ne faut pas les partager mais seulement partager le fichier package.json et package-lock.json car ce sont eux qui permettront à mes collègues de pouvoir faire un simple:

npm install
Enter fullscreen mode Exit fullscreen mode

Et récupérer toutes les dépendances qui permettront de lancer le projet.

On est prets pour la suite!

Partie #2 Mon premier serveur

Top comments (0)