Projects - OpenWeek/data-logger GitHub Wiki

Avancement du projet

Il est possible de suivre en temps réel l'avancement du projet via les projets github listés sur cette page.

Pour bien comprendre le contenu de cette page, il est préférable d'être familiarisé avec les données utilisées en interne.

Syntaxe :

  • Item : entité dans la base de donnée
  • item : propriété dans la base de donnée

Front-End

Ce projet reprend l'avancement de la partie Front-End de la WebApp. Il est divisé en différentes parties :

  • Gestion des User

    • Overview des User

      Liste (visible par les admin seulement) reprenant tous les User.

      Chaque entrée de la liste renvoie vers le profil concerné.

    • Profil d'un User

      Page reprenant les données du User concerné. Si admin, possibilité de supprimer le User ou modifier les droits admin (ex : tab Danger Zone).

    • Ajout d'un User

      Page de création de compte pour les nouveaux User (seulement accessible aux admin)

  • Gestion des Project

    Règle de lecture : le User est admin ou est membre du Project

    Règle d'écriture : le User est admin ou est membre du Project et a le droit writable sur ce Projet. Dans le cas de l'ajout d'un Project, le User doit être creator.

    • Overview des Project

      Liste de tous les Project connu du data-logger.

      Son contenu varie avec les droits du User qui la consulte selon la règle de lecture définie ci-dessus.

      Chaque entrée de la liste renvoie vers le profil concerné.

    • Ajout d'un Project

      Page permettant l'ajout d'un Project.

      Accessible seulement selon la règle d'écriture définie ci-dessus

      Doit être validée par un admin.

    • Ajout d'un plan de stockage

      Sous-page (Template à inclure dans la page de création d'un Project) permettant d'ajouter un plan de stockage des données récoltées par les SensorItem concernés. (cfr syntaxe de RRDTool)

      Chaque SensorItem faisant partie du Project (par l'intermédiare des Clients appartenant au Project) représente une Data Source (au sens de RRD) à ajouter dans le data-plan.

    • Profil d'un Project

      Page reprenant les données du Project sélectionné.

      Accessible selon la règle de lecture et la règle d'écriture définie ci-dessus.

      Toute modification sur cette page doit être validée par un admin (place le Project concerné en state 'pending' et tous les Clients liés à ce Project en enable=false; cfr diagramme d'état des Projets).

  • Gestion des SensorItem

    Règle de lecture : le User est admin ou est membre d'un Projet auquel le Client (contenant le SensorItem) appartient / est attaché

    Règle d'écriture : le User est admin ou est membre du Projet auquel appartient le Client contenant le SensorItem et a le droit writable sur ce Projet

    • Overview des SensorItem

      Liste de tous les SensorItem connu du data-logger.

      Son contenu varie avec les droits du User qui la consulte selon la règle de lecture définie ci-dessus.

      Chaque item renvoie vers le profil concerné.

    • Ajout d'un SensorItem

      Page permettant l'ajout d'un SensorItem. Accessible seulement selon la règle d'écriture définie ci-dessus.

    • Profil d'un SensorItem

      Page reprenant les données du SensorItem sélectionné. Accessible selon la règle de lecture et la règle d'écriture définie ci-dessus.

      Toute modification sur cette page (suivant la règle d'écriture) doit être validée par un admin (place le Client concerné en state 'pending' et enabled=false; cfr diagramme d'état des Clients).

  • Gestion des Clients

    • Overview des Clients

      Liste globale de tous les Clients connus du data-logger. Son contenu varie avec les droits du User qui la consulte :

      • Un User ne peut consulter que les Clients qu'il a créé ou les Clients qui appartiennent à un Projet sur lequel il a les droits d'écriture.

      • Un Admin a accès à tous les clients connus du data-logger

      Chaque item renvoie vers le profil concerné.

    • Ajout de Client

      Page permettant l'ajout et la configuration d'un Client. Accessible seulement si les droits du User sont suffisants.

    • Profil du Client

      Page reprenant les données du Client sélectionné. Accessible seulement si les droits du User sont suffisants.

      Toute modification sur cette page doit être validée par un Admin (place le Client concerné en état 'Pending' et 'Enabled'=false; cfr diagramme d'état des Clients).

Backend

Ce projet reprend l'avancement de la partie Back-End de la WebApp. Il est composé des même parties que le Front-End auxquelles on peut ajouter :

  • Gestion de la configuration des sous-services

    • Hostapd

    • Dnsmasq

    • Mosquitto

    • SFTP server

Clients managment

Ce projet reprend tout ce qui concerne la manipulation des clients, à savoir :

  • Manipulation du Firmware

    • Build du Firmware

    • Flash du Firmware sur le Client

  • Manipulation du code Client

    • Génération du code Client

    • Flash du code Client