| config | ||
| controllers | ||
| models | ||
| routes | ||
| .gitignore | ||
| jwtRS256.key.pub | ||
| jwtRS256.sh | ||
| package.json | ||
| Procfile | ||
| README.md | ||
| server.js | ||
PolyNotFound - Partie Backend en local
Lancement du Backend
1.1 Installation des différentes librairies avec npm
Si NodeJS est installé (téléchargeable ici), il suffit de faire un npm install.
1.2 Création d'une base de données MongoDB en local avec Docker
Il faudra Docker (téléchargeable ici)
Puis dans un terminal, pour lancer le serveur MongoDB
docker run -d -p 27017:27017 --ip 127.0.0.1 --name polynotfound-mongodb mongo:latest
L'image de Mongo sera automatiquement téléchargé si elle n'existe pas en local.
- Si vous avez MongoDB Compass (téléchargeable ici):
- Se connecter au serveur
mongodb://localhost:27017/?readPreference=primary&appname=MongoDB%20Compass&ssl=false - Create Database :
- Database Name : polynotfound
- Collection Name : users
- Sinon avec MongoShell (téléchargeable ici):
- Se connecter au serveur
- Linux:
mongo mongodb://localhost:27017/?readPreference=primary&appname=MongoDB%20Compass&ssl=false - Windows:
mongo.exe mongodb://localhost:27017/?readPreference=primary&appname=MongoDB%20Compass&ssl=false
- Linux:
- Créer la base de données :
use polynotfound
1.3 Initialisation des variables d'environnements
5 variables d'environnements sont nécessaires pour lancer le backend correctement.
-
DATABASE : url de connexion à la base de données (utilisé seulement en production)
- Sur Windows :
set DATABASE=<url_bd> - Sur Linux :
export DATABASE=<url_bdd>
- Sur Windows :
-
Token de connexion
- JWTRS256_PUBLIC_KEY : clé publique pour les tokens de connexion
- JWTRS256_PRIVATE_KEY : clé privée pour les tokens de connexion
Lancer le script de génération des clés
jwtRS256.sh, un fichier.envsera créé. Il faudrasetouexportces 2 variables dans vos variables d'environnements.- Sur Windows :
set JWTRS256_PUBLIC_KEY=<public_key>set JWTRS256_PRIVATE_KEY=<private_key>
- Sur Linux :
export JWTRS256_PUBLIC_KEY=<public_key>export JWTRS256_PRIVATE_KEY=<private_key>
-
YOUTUBE_API_KEY : Clé de connexion à l'API Youtube (récupérable ici)
-
DAILYMOTION_API_KEY : Clé de connexion à l'API Dailymotion (récupérable ici)
A noté que la clé d'API de Dailymotion n'est pas utilisée mais cela peut changer dans le temps.
Après l'initialisation de ces variables d'environnements, il faudra surement redémarrer votre ordinateur. (Fermer et rouvrir un terminal peut être suffisant dans certain cas)
1.3.1 Lancement en mode développement
Pour lancer le backend en mode développement, il faudra simplement exécuter dans un terminal:
- Windows :
npm dev-win - Linux & Mac :
npm dev-nix
1.3.2 Lancement en mode production
Pour lancer le backend en mode production, il faudra simplement exécuter dans un terminal:
- Windows :
npm prod-win - Linux & Mac :
npm prod-nix