Une application NodeJs-Express-MongoDB-Websocket qui gère la fonctionnalité sondage de nosgestesclimat-site et nosgestesclimat-site-nextjs.
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
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
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).
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
- Créer un nouveau fichier
/contexte-sondage/<nom-fichier>.yaml
sur la base de ce template. - Ouvrir une console mongodb:
scalingo -a nosgestesclimat mongo-console
- Trouver le sondage que l'on souhaite contextualiser:
db.surveys.find({name: "<nom-sondage"}).pretty()
- 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>"}})