/loriol

Serveur Web et API REST pour la database du projet Loriol

Primary LanguageJavaScript

Logo Ecole La Mache

Projet Loriol

Partie individuelle d'Erwann Lagouche

Description

Ce programme est à la fois un serveur web sur lequel un utilisateur peut gérer l'infrastructure et récolter des informations et une interface cliente d'une API d'informations météorologiques, ainsi qu'une API REST sur laquelle sont récupérées les informations des capteurs sonores

Contenu du code source

  • Commentaires rédigés en anglais (sauf dans ce fichier)
  • Utilisation de Node.js (haut niveau)
  • Enregistrement et commuting sur GitHub

Utilisation

  • Installez Node.js (LTS recommandé)
  • Clonez le dépôt localement ou téléchargez-le en zip git clone https://github.com/AirOne01/loriol
  • Lancez le script correspondant à votre OS.
    • Sur Windows: powershell start.bat, ou double-cliquez simplement start.bat
    • Sur Linux: ./start.sh

TODO

  • ✔️ Faire les scripts de débogage Windows/Linux (debug.js)
  • ✔️ Arrêter d'utiliser chance
  • ✔️ Enregistrement du mot de passe admin avec Bcrypt.js, utilisant le moteur de chiffrage Bcrypt
  • ✔️ Faire une autre repo pour les fichiers Arduino Voir github/AirOne01/loriol-arduino
  • ✔️ Préparer l'app pour le déploiement
  • Communiquer avec l'API météorologique et stocker ses données
  • Faire l'interface graphique sur le site
  • ❌ Faire une interface téléphone
  • ❌ Réfléchir à une licence plus sérieuse que du full-copyright ou copyleft (voir Mozilla ou Creative Commons)
  • ❌ Utiliser une librairie comme Plotly pour afficher des graphiques récapitulatifs
  • ❌ Communiquer avec l'Arduino pour controller la pompe régulièrement
  • ❌ Ajouter plus de couleurs aux messages d'erreurs
Légende: ✔ OK, ❓ En cours, ❌ À faire

Dépendances

Moteur :

Modules NPM :

  • axios: Requêtes HTTP
  • bcryptjs: Chiffrage avec Bcrypt
  • cron: Tâches périodiques (récupération et stockage de données)
  • debug: Débogage et verbose
  • express: Serveur HTTP facilement
  • json-format: Pour que les fichiers de config aient bonne figure
  • mysql: Pour interagir avec mysql
  • supports-color: Active le support des couleurs pour debug

Licence

Voir LICENSE.md