Le site d'appareils connectés pour les retraités en EHPAD.
Vous êtes sur Linux ? Clonez le repo et lancez le script ./setup.sh
qui s'occupe de tout !
- JDK (Java Development Kit) 23 ou plus
Commandes Ubuntu (une ligne = une commande)Windows : Télécharger le JDK Temurin 23wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list sudo apt update && sudo apt install -y temurin-23-jdk
- Node.js 20 ou plus et NPM
Commandes Ubuntu (une ligne = une commande)Windows : Télécharger Node.jssudo apt install -y npm
- MySQL 8.0 ou plus
Vous êtes sur Linux ? Faites que l'étape 1 et lancez le script ./setup.sh
qui s'occupe de tout !
- Cloner le dépôt dans un dossier au choix et s'y rendre (important !)
Terminal (Linux & Windows) :IntelliJ : File > New > Project from Version Control > GitHubgit clone https://github.com/ChuechTeam/Domotique.git cd Domotique
- Télécharger toutes les dépendances du projet Java
Terminal (Linux) :./gradlew classes
Terminal (Windows) :gradlew.bat classes
IntelliJ : Onglet Gradle > Sync All Gradle Projects - Télécharger toutes les dépendances du projet Frontend
Terminal (Linux & Windows) :cd src/front npm install cd ../..
- Mettre l'utilisateur et le mot de passe MySQL dans le fichier de configuration
src/main/java/resources/config-dev-local.properties
- Initialiser la base de données
Terminal (Linux) :./gradlew updateDatabase
ou./liquibase
Terminal (Windows) :gradlew.bat build
ou./liquibase.bat
IntelliJ : Onglet Gradle > Sync All Gradle Projects - Lancer l'application ! (Avec les données de base)
Terminal (Linux) :./gradlew runSeed
Terminal (Windows) :gradlew.bat runSeed
IntelliJ : Bouton Run (flèche verte) 'Run project'
Puis, ouvrez le navigateur à l'URL http://localhost:7777 pour avoir accès au site.
Tip
Si le serveur Vite ne s'est pas lancé tout seul, essayez de le lancer manuellement (npm run dev
dans src/front
)
Il ne reste plus qu'à créer votre premier compte administrateur avec un code d'invitation :
- "retraitons" pour créer un compte admin (configurable avec
domotique.adminCode
) - "AP1X86" pour créer un soignant (code par défaut dans les données de base)
- "MWXX0L" pour créer un résident (code par défaut dans les données de base)
Pour lancer l'application, deux choix :
- Avec les données de base :
./gradlew runSeed
ougradlew.bat runSeed
(réinitialise la base de donnée) - Sans les données de base :
./gradlew run
ougradlew.bat run
Avec ces données de base, tous les utilisateurs ont pour mot de passe "mot2passe". L'administrateur a pour e-mail "admin.boss@ehpad.fr"
Les paramètres de configuration personnels sont présents
dans le fichier src/main/java/resources/config-dev-local.properties
:
domotique.databaseUri
: L'URI de connexion à la base de données MySQL (obligatoire)domotique.port
: Le port sur lequel le serveur écoute (défaut : 7777)domotique.sendGridToken
: Le token SendGrid pour envoyer des e-mails (optionnel)domotique.sendGridEmail
: L'adresse e-mail SendGrid vérifiée pour envoyer des e-mails (requis si token fourni)domotique.adminCode
: Le code pour créer un compte administrateur (défaut : "retraitons")domotique.seedDatabase
: Mettre à "true" pour initialiser la base de données avec des données de test
Note
Si aucun token SendGrid n'est donné dans la configuration, les mails seront envoyés dans la console et dans les logs.
Regardez le fichier LOST.md dans le dossier docs/
du projet.
Recommendation : utiliser la documentation incluse http://localhost:7777/api-docs
Voir le dossier docs/
du projet :
Documentation | Description |
---|---|
Architecture | Description de l'architecture du projet |
Cookbook Vert.x Future | Fiche pratique pour Future<T> de Vert.x |
Cookbook Vert.x SQL | Fiche pratique pour SqlClient de Vert.x |
Cookbook Java Records | Fiche pratique pour les records Java |
Cookbook Templates | Fiche pratique pour écrire des templates JTE (Java Template Engine) |
Cookbook Database Update | Fiche pratique pour utiliser Liquibase |
API JavaScript | Guide pour utiliser le client API du JavaScript |
Script Javadoc (docs/javadoc ) |
Script à lancer pour générer les javadocs accessibles sur navigateur |
Help | Liens de documentation pris un peu au hasard |