Skip to content

Latest commit

 

History

History
95 lines (65 loc) · 2.7 KB

README.md

File metadata and controls

95 lines (65 loc) · 2.7 KB

nosgestesclimat-server

Une application NodeJs-Express-MongoDB-Websocket qui gère la fonctionnalité sondage de nosgestesclimat-site et nosgestesclimat-site-nextjs.

Dev

Pré-requis

Ce projet utilise node, yarn, docker et docker-compose

Pour l'utiliser en local, cloner ce repo et créer un fichier .env contenant les variables contenues dans le fichier .env.development

Commandes utiles

Installe les dépendances

yarn install

Lance les services bases de données

docker-compose up

Lance les tests (requiert les dépendances)

yarn test

Builde le projet (requiert les dépendances)

yarn build

Migre la base de donnée (requiert les dépendances et les services)

yarn db:migrate

Lance le service (requiert le build, les services et la migration)

yarn start

Scalingo

Pour se connecter à la base de données, on peut utiliser la commande utilisant la CLI scalingo. Pour une interface graphique, on peut utiliser MongoDB Compass en suivant ce guide (la connexion est compliquée sans ce guide).

Contextualisation des sondages

Une fonctionnalité a été implémentée afin de permettre aux organisateurs de sondages de recueillir des informations supplémentaires sur les sondés via un questionnaire de quelques questions en début de simulation (questions qui ne sont pas liées au test Nos Gestes Climat : par exemple leur âge, leur métier, etc.). Un guide dédié explique de manière détaillée le principe de cette feature !

Les fichiers permettant de/contextes-sondage

Commment lier un fichier de contexte à un sondage

  1. Créer un nouveau fichier /contexte-sondage/<nom-fichier>.yaml sur la base de ce template.
  2. Ouvrir une console mongodb:
scalingo -a nosgestesclimat mongo-console
  1. Trouver le sondage que l'on souhaite contextualiser:
db.surveys.find({name: "<nom-sondage"}).pretty()
  1. Une fois que l'on s'est assuré que c'est le bon sondage, il suffit d'ajouter le champ contextFile:
db.surveys.updateOne({name: "<nom-sondage>"}, {$set: {contextFile: "<nom-fichier>"}})