Dépôt pour le groupe du projet pilote du cours INM5151-PP. Le projet Système de Suggestion de Véhicule Électrique permet à un utilisateur d'avoir des propositions de véhicules en fonction des habitudes de l'utilisateur.
Cette section présente la méthode de démarrage du projet sur une machine locale destinée aux développeurs.
- Java : jdk 17
- Maven : version 3.8.6 (Installation facultative)
- Docker : dernière version
- Postman : dernière version
Note importante: le build initial peut être assez long en fonction de votre connexion internet.
docker-compose builddocker-compose upNote importante: Si vous tentez de build l'application entière en utilisant le build en 2 étapes, vous allez rencontrer des erreurs CORS (cross-origins), pour éviter ce genre d'erreur il est nécessaire de démarrer l'application à partir de Docker.
npm installnpm start./mvnw clean install./mvnw spring-boot:runNoter que le hot-reloading n'est pas supporté au niveau du backend et donc il faudra le rebuild et le redéployer après des modifications pour qu'elles soient visibles.
Le frontend démarre par défaut sur http://localhost:3000 (en interagissant avec la backend sur le port 8080). Une base de données locale h2 est aussi créée lors du démarrage. Noter que cette BD est en mémoire et non persistante pour le moment.
Lorsque l'API roule, un endpoint est disponible pour interagir avec l'API. http://localhost:8080/swagger-ui/index.html
./mvnw testLe port 22 est ouvert, donc il est très simple d'ouvrir un tunnel pour accéder au service sur les ports 8008 (Québec) et 8009 (Montréal)
ssh -L 5000:127.0.0.1:8008 username@adve.info.uqam.caoù bien sûr, "username" est votre username. Entrez votre mot de passe si nécessaire et si tout se passe bien, vous avez un "tunnel" d'ouvert, de votre machine au serveur adve.info.uqam.ca.
Dit à la commande ssh d'écouter le port 5000 de votre adresse localhost.
Et de transférer le tout sur le port 8008 de la machine adve.info.uqam.ca une fois votre connexion sécurisée par ssh effectué.
Note : si vous rencontrez l'erreur Cannot assign requested address, ajoutez l'option -4 à votre commande afin de forcer le client ssh à utiliser IPV4.
Votre console est bel et bien sur votre machine locale et n'est pas connectée ssh sur adve.uqam.info.ca
Donc, de votre console locale, vous pouvez maintenant accéder au port 8008 de adve.info.uqam.ca en effectuant:
nc 127.0.0.1 5000D'ici vous pouvez faire vos requêtes via le standard input ou...
nc 127.0.0.1 5000 < fichierderequêtes.txtVoilà, le problème est réglé.
Marc Elson, le responsable des machines virtuelles, dont celle de adve.info.uqam.ca m'a aussi partagé un lien vers un "crash course" qui peut être utile pour les utilisateurs de Windows, je vous le partage ici pour des fins d'exhaustivité.