Description de la mission

Précisez le contexte, les objectifs, les tâches à accomplir et les résultats attendus.

CarbonFight est une application web & mobile open source et open data dont l’objectif est de faire de chaque citoyen un acteur de la diminution des émissions de gaz à effet de serre par la mesure de son empreinte carbone personnelle et la mise en place de solutions pour la faire baisser.

L’application est disponible en production sur les stores Google et Apple, mais toujours à l’état de prototype. Nous avons besoin de vous pour passer à l'échelle.

L’application nécessite une refonte complète des fonctions javascript liés à la création, modification et suppression des actions générés par les utilisateurs. Une action peut être :

Lorsque l’utilisateur insère une action dans l’application, de nombreuses fonctions se déclenchent. Il s’agit de code javascript exécuté via le service Functions as a Service (FaaS) de Google Firebase, sur des évènements dans la base Google Firestore ou périodiquement (crontab).

Ces fonctions peuvent être exécutés lors d’un événement, comme l’insertion d’une nouvelle action :

Ou exécutés périodiquement :

Ou encore les actions automatiques liées à la modification des paramètres de l’utilisateur :