Code source de l'application de réservation en ligne de places à l'examen pratique du permis de conduire. Ce service public est à destination des usagers inscrits sur le système de l'ANTS et ayant réussi l'épreuve pratique du code de la route.
Mac OS : https://hub.docker.com/editions/community/docker-ce-desktop-mac
Windows : https://hub.docker.com/editions/community/docker-ce-desktop-windows
Ubuntu : https://docs.docker.com/install/linux/docker-ce/ubuntu/
Ne pas oublier d'effectuer les étapes post-installation sur Ubuntu:
https://docs.docker.com/install/linux/linux-postinstall/
https://robomongo.org/download
Attention, ne pas télécharger Studio 3T, mais télécharger Robo 3T
git clone https://github.com/LAB-MI/candilibV2.git
- Lancer la base de données :
cd server
npm run db
- Installer les dépendances
npm install
- Créer les variables d'environnements
Lire le fichier server/README.md
et créer un fichier .env
avec les variables correspondantes.
(Se créer éventuellement un compte mailtrap.io)
- Lancer le script npm pour peupler la bdd
npm run dev-setup
- Se connecter à la bdd
Ouvrir Robo3t, créer une nouvelle connection. Dans l'onglet d'authentification, remplir:
Database: candilib
User: adminCandilib
Password: changeme78
- Lancer le serveur node avec le code de l'API
Toujours dans le répertoire server
Ajouter la variable d'environnement pour avoir la date en français
export NODE_ICU_DATA=`pwd`/node_modules/full-icu
Puis lancer le serveur
npm run dev
- Installer les dépendances du front
Dans un nouveau terminal
cd ../client
npm install
- Lancer le front
npm start
Ceci lance webpack-dev-server avec la configuration de vue-cli.
- Se connecter en tant qu'admin
Aller à http://localhost:8080/candilib
Et utiliser le compte suivant:
- login :
admin@example.com
- mot de passe :
Admin*78
- Aller à calendrier et uploader le fichier
dev-setup/planning-93.csv
(nécessite la version 19 de Docker-Compose)
- Créer les images Docker
à la racine du projet:
make build-all NPM_AUDIT_DRY_RUN=false
Vérifier les images crées avec
docker images
- Lancer les conteneurs
export FRONT_ADMIN_PORT=81
export DBDATA=../test-db
make up-all
Vérifier les conteneurs avec
docker ps
Pour effectuer les tests:
make test-all
- Accéder au site
http://localhost:80 pour le site candidat http://localhost:81 pour le site admin
- Pour éteindre les conteneurs
make down-all
cd server
npm run db
cd server
npm test
cd server
npm run test:watch
Le serveur sera rechargé à chaque modification du code serveur
(toute modification dans server/src
)
cd server
npm install
npm run dev
Pour lancer les tests Cypress sur la stack candilib développeur:
- démarrer les composants serveurs (API, DB, Mailhog et Mongo-express) et initialiser la base avec les données de dev-setup
- démarrer le front
- lancer Cypress avec l'option build pour ne pas initialiser la base
make -C server up-dev init-db-e2e
cd client
npm start
npm run test:e2e -- --env build=1
Pour arrêter:
make -C server down-dev
Travis utilise le fichier .travis.yml décrivant les étapes de build et des tests, il est possible de lancer les tests en local en lançant :
- Les commandes de la section before_install du fichier .travis.yml
- Puis le script ci/run-tests.sh
Cette étape construit :
- les images docker candilib
- démarre la stack candilib
- initialise la base de données avec les données de tests
- construit les images Cypress et MailHog
- démarre la stack de tests
- exécute les scénarios et détruits les stacks à la fin
Transpiler les ESM et lancer le serveur en mode production
cd server
npm install
npm start
C'est le répertoire dist
qui contient l'application.
C'est le fichier index.js
dans ce répertoire qui est lancé.