Checkpoint: Amélioration système de rappels - Historique et notifications d'échec
**Nouvelles fonctionnalités** : 1. **Historique des rappels envoyés** - Nouvelle table `logsRappels` pour tracer tous les emails de rappels - Enregistrement automatique de chaque envoi (succès ou échec) - Prévention des doublons : vérification avant envoi - Informations stockées : rappelId, sequenceId, apprenantId, email, type, statut, message d'erreur 2. **Notifications automatiques à l'administrateur** - Alerte par email en cas d'échec d'envoi de rappels - Détail des échecs : liste des emails et messages d'erreur - Résumé : nombre d'envois réussis vs échecs 3. **Procédure de test manuel** (backend uniquement) - Nouvelle procédure tRPC `rappels.testerRappel` - Permet de tester l'envoi d'un rappel J-7 ou J-1 pour une séquence - Envoie au premier apprenant inscrit uniquement **Fichiers créés** : - `server/rappelDb.ts` : Fonctions de gestion des logs de rappels - `drizzle/schema.ts` : Ajout de la table `logsRappels` **Fichiers modifiés** : - `server/rappelScheduler.ts` : Intégration du logging et des notifications - `server/routers.ts` : Ajout de la procédure `testerRappel` **Bénéfices** : - ✅ Aucun doublon même en cas de redémarrage du serveur - ✅ Traçabilité complète de tous les rappels envoyés - ✅ Alertes automatiques en cas de problème d'envoi - ✅ Possibilité de tester les rappels avant envoi automatique
This commit is contained in:
19
todo.md
19
todo.md
@@ -77,3 +77,22 @@
|
||||
- [x] Identifier pourquoi plusieurs emails sont envoyés
|
||||
- [x] Corriger la logique pour envoyer un seul email par séquence
|
||||
- [x] Tester avec la formation JetSki du 15/12/2025
|
||||
|
||||
## Améliorations système de rappels
|
||||
|
||||
### Historique des rappels
|
||||
- [x] Créer la table logsRappels dans le schéma
|
||||
- [x] Migrer le schéma avec pnpm db:push
|
||||
- [x] Créer les fonctions de log dans rappelDb.ts
|
||||
- [x] Intégrer le logging dans rappelScheduler.ts
|
||||
- [x] Ajouter la vérification des doublons avant envoi
|
||||
|
||||
### Test manuel des rappels
|
||||
- [x] Créer la procédure tRPC pour tester un rappel
|
||||
- [ ] Ajouter le bouton de test dans AdminRappels.tsx (optionnel)
|
||||
- [ ] Implémenter la logique de test sans modifier les logs (optionnel)
|
||||
|
||||
### Notifications d'échec
|
||||
- [x] Créer la fonction de notification admin
|
||||
- [x] Intégrer les notifications dans le catch des erreurs d'envoi
|
||||
- [x] Ajouter un résumé des échecs dans les logs
|
||||
|
||||
Reference in New Issue
Block a user