[Feature] Notifications push — rappel de suivi quotidien #30

Open
opened 2026-08-05 11:06:43 -04:00 by NixCyRy · 0 comments
NixCyRy commented 2026-08-05 11:06:43 -04:00 (Migrated from github.com)

Problème

Aucun système de rappel pour inciter l'utilisateur à tracker ses repas. Pour une app de suivi nutritionnel, c'est critique pour l'engagement.

Solution

Web Push Notifications via le Service Worker déjà présent (sw.js) :

  1. Demande de permission au premier login : « Souhaitez-vous recevoir un rappel quotidien ? »
  2. Rappel configurable — heure par défaut 19:00, modifiable dans les paramètres
  3. Contenu dynamique — « Vous avez tracké 3 aliments aujourd'hui. Il en manque pour atteindre vos objectifs ! »
  4. Stockage — préférence dans localStorage ou table users

Implémentation

// Demander permission
Notification.requestPermission().then(permission => {
  if (permission === "granted") {
    // Register push subscription via SW
    navigator.serviceWorker.ready.then(reg => 
      reg.pushManager.subscribe({ userVisibleOnly: true })
    );
  }
});

// Cron côté serveur (ou SW periodic sync)
// Check utilisateurs qui n'ont pas tracké aujourd'hui → send push

Note: Pas besoin de VAPID/serveur push pour une v1 — un simple rappel local via setTimeout + Notification API suffit.

Sévérité

P2 — Engagement utilisateur.

## Problème Aucun système de rappel pour inciter l'utilisateur à tracker ses repas. Pour une app de suivi nutritionnel, c'est critique pour l'engagement. ## Solution Web Push Notifications via le Service Worker déjà présent (`sw.js`) : 1. **Demande de permission** au premier login : « Souhaitez-vous recevoir un rappel quotidien ? » 2. **Rappel configurable** — heure par défaut 19:00, modifiable dans les paramètres 3. **Contenu dynamique** — « Vous avez tracké 3 aliments aujourd'hui. Il en manque pour atteindre vos objectifs ! » 4. **Stockage** — préférence dans `localStorage` ou table `users` ## Implémentation ```javascript // Demander permission Notification.requestPermission().then(permission => { if (permission === "granted") { // Register push subscription via SW navigator.serviceWorker.ready.then(reg => reg.pushManager.subscribe({ userVisibleOnly: true }) ); } }); // Cron côté serveur (ou SW periodic sync) // Check utilisateurs qui n'ont pas tracké aujourd'hui → send push ``` Note: Pas besoin de VAPID/serveur push pour une v1 — un simple rappel local via `setTimeout` + `Notification` API suffit. ## Sévérité P2 — Engagement utilisateur.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
SlopVibe-org/nutri-food#30
No description provided.