Mise en route
L'installation des technologies sont requises pour pouvoir mettre en route l'application. Voir la page précédente pour en savoir plus.
1. Création du projet
Express-cli est utilisé pour créer le projet. Pour générer tous les fichiers et installer les dépendances, il suffit de lancer cette commande depuis le terminal :
express gestion-des-utilisateurs --git && cd gestion-des-utilisateurs && npm install
Après l'execution de ce script, voici le résultat attendu :
2. Tester le serveur
Afin de tester le serveur, et voir s'il fonctionne bien, il suffit de lancer la commande npm start
. En utilisant Postman, on devrait être capable d'intéragir avec le serveur et recevoir cette page en réponse.
3. Lancement de la base de données
Maintenant que le serveur fonctionne, il faut démarrer la base de donnée. Pour cela, il faut créer un fichier docker-compose.yml à la racine du projet et y écrire ces lignes de code:
version: "2"
services:
pgsql:
image: mdillon/postgis:latest
environment:
- POSTGRES_PASSWORD=root
ports:
- "5432:5432"
volumes:
- ${PWD}/database:/var/lib/postgresql/data
Explication
- Image: Permet de signifier quelle image doit être utilisée (postgres avec postgis d'installé dedans).
- Environnement: Permet d'ajouter des variables d'environnement, ici le mot de passe pour accéder à la base.
- Ports: Permet d'ouvrir le port 5432 de notre ordinateur et de le lié au port 5432 de la machine Docker.
- Volumes: Permet sauvegarder dans le projet, la base de donnée, afin quelle ne disparaisse pas à chaque redémarage
Maintenant, il suffit de lancer cette commande pour allumer la base de donnée :
docker-compose up
4. Branchement à la base de données
Sequelize-cli a ajouté un fichier config.json dans le dossier config. C'est dans ce fichier qu'il est possible d'ajouter les informations de connexion à la base de données. Voici les bonnes configurations pour se connecter :
{
"development": {
"username": "postgres",
"password": "root",
"database": "postgres",
"host": "127.0.0.1",
"dialect": "postgres"
},
"test": {
"username": "postgres",
"password": "root",
"database": "postgres",
"host": "127.0.0.1",
"dialect": "postgres"
},
"production": {
"username": "postgres",
"password": "root",
"database": "postgres",
"host": "127.0.0.1",
"dialect": "postgres"
}
}
Ce projet utilise Postgres, il va falloir installer la bibliothèque pg pour permettre à Sequelize d'utiliser Postgres.
npm install -S pg pg-hstore