#Guide

Commandes NPM

npm start : Démarrer le projet (pour la prod)
npm stop : Arrêter le projet
npm restart : Redémarrer le projet
npm run nodemon : Démarrer le projet avec les logs nodemon (en dev uniquement)
npm run logs : Lancer les logs
npm run buildcss : Compiler le css une fois
npm run watch : Compiler le css et le watcher
npm run start_node : Démarrer le projet nativement avec nodeJs
npm run monitor : Ouvrir le moniteur pour des informations supplémentaires quant au run de ou des applications en cours

Ajouter un nouvel album

  • Créer dans le fichier .env le nom du futur album (variable réutilisée partout dans l'appli)
  • Dupliquer un Modèle dans api/models, puis renommer le model de la database
  • Dupliquer une Route dans api/routes, puis renommer la variable du Folder dans les imports albumName
  • App.js
    • Appeler le modèle récemment créé sous forme de variable (ex: const banffRoutes = require('./api/routes/banff')
    • Utiliser cette variable (ex : app.use('/banff', banffRoutes)
  • Ajouter une nouvelle condition @elseIf dans la fonction whereIAm() dans /public/resources/js/data-json.js
  • Passer une nouvelle variable {newAlbum}Folder à la vue profile.ejs dans config/routes/profile-route.js
  • Dupliquer blocks-block en :
    • remplaçant les 4 variables avec celle du nouvel album créée à l'étape précédente
    • incrémenter l'ID de l'input et son label associé
  • Se référer en dernier lieu à l'avant-dernier point de la section suivante
  • cd path/to/API_Canada/images/, puis sudo mkdir -m 777 {albumName} (ll pour confirmer)

Déployer en prod - côté serveur

  • npm stop pour couper le serveur le temps du déploiement
  • git pull depuis le dossier
    • git stash si des modifications non-importante on été faite en prod)
  • npm i si nouveau package installé en dév (Optionnel)
  • cd path/to/API_Canada/images/, puis sudo mkdir -m 777 {albumName} (ll pour confirmer)
  • update du fichier .env si il a été modifié en dév avec le même contenu (important)
      (attention à ce que la variable MONGO_DATABASE soit à "prod")
  • npm start pour relancer le serveur

Ajouter un nouvel utilisateur

  • Ajouter le Google ID (trouvable via npm run logs quand cet utilisateur se connecte) dans le fichier .env
  • Ajouter une variable directement dans la vue public/profile.ejs
  • Conditionner le nouvel utilisateur dans le fichier public/profile.ejs

Attention : il est nécessaire d'avoir un fichier .env pour le bon fonctionnement du projet. Ce fichier est .gitignore et est réservé à l'administrateur.
La suppression d'image au cas par cas ne fonctionne pas idéalement. Préférer la supression en gros.