L'utilisateur se connecte avec ses identifiants (Nom d'utilisateur, mot de passe). Une fois connecté, sa maison s'affiche avec les différentes zones gérables. Une barre de navigation s'affiche aussi en haut de l'écran.
- La fond change de couleur afin de la marquer comme active et le nom de cette dernière s'affiche.
- Le nombre d'éléments gérables dans cette pièce s'affiche au travers d'icônes caractéristiques
Un menu latéral apparait avec les différents objets que l'utilisateur peut gérer.
- Allumer / Éteindre toutes les lumière de la pièce
- Allumer / Éteindre la lampe selectionnée
- Modifier l'intensitée de la lampe sélectionnée
- Prédéfinir des températures par périodes (Saisons, )
- Définir la température voulue dans la pièce associée
- Ouvrir / Fermer tous les volets de la pièce associée
- Ouvrir / Fermer le volet sélectionner
L'utilisateur a accès à une zone de recherche située dans la barre de navigation.
La barre de recherche propose des résultats lors de la saisie.
L'utilisateur peut cliquer sur un icône compte et accèder à ses différentes informations.
- Nom d'utilisateur, Mot de passe, Adresse postale / mail
- Possibilité de supprimer sa maison
- Partager sa maison avec un ami pour qu'il puisse controler les objets en cas de vacances. (La personne annexe pourra seulement controler les apapreils)
- Si la personne est administrateur du compte, elle pourra accéder aux différents sous utilisateurs (membre de la famille..) et les gérer.
- Création / Modificatio, / Suppression d'utilisateurs
Ajouter des objets connectés à la nouvelle zone (Via Wifi / Bluetooth)
- Ajouter / Modifier / Supprimer un objet de la zone sélectionnée
- L'utilisateur peut modifier la zone (Nom, Coordonées, ...)
Les coordoonées de la zone se gérent via un Drag & Drop directement sur l'image
Tous les objets et parametrages des objets de la zone sont également supprimés
Node.js Socket.io (event subscriber listener, real time communication)
Kafka avec SGBD Cassandra
Justification : Permet de gérer des grandes superficies en temps réel avec un important nombre de capteurs. Il est possible de faire du machine learning par dessus afin de gérer des statistiques sur l'utilisation des objets. sExemple : il sera possible de faire une corrélation entre si elle existe entre la température extérieur, la température intérieur et l'inclinaison des stores.
Mise en place d'une API REST afin de gérer aussi bien les utilisateurs que les zones ou les objets. Cette API permettra aussi via un middleware dédié de mettre en accord l'action demandée par l'utilisateur à la bonne API et à la requête. Exemple : L'utilisateur allume une ampoule. La marque de l'ampoule et l'action est envoyée à l'API. Notre API récupérera le bon middleware qui se chargera d'exécuter la demande entre l'utilisateur et l'API en question.
Utilisation d'API externe (Prévisions météo, traffic)
Vue.js 2 (Vue-cli) Composant mono-fichier Webpack (Config de prod et de dev présentes) HTML5 CSS3 SCSS LinterScss Eslint Axios Lo_dash Babel
Projet Web de gestion d'une maison domotique
nodejs v10.15
npm v6.8
Installer toutes les dépendances
npm i
To run the project on localhost
npm run devserver
To run the project on localhost (accessible from local network)
npm run devserver:remote
See package.json for others scripts
