Refactoring
This commit is contained in:
35
README.md
35
README.md
@@ -53,6 +53,36 @@ You can then execute your native executable with: `./target/mic-after-work-serve
|
||||
|
||||
If you want to learn more about building native executables, please consult <https://quarkus.io/guides/maven-tooling>.
|
||||
|
||||
## Fonctionnalités métier (AfterWork)
|
||||
|
||||
### Notifications
|
||||
|
||||
- **Service** : `NotificationService` — création, lecture, pagination, marquage lu/suppression des notifications en base.
|
||||
- **Déclencheurs** : Notifications créées automatiquement pour les demandes d’amitié (destinataire), les likes/commentaires sur les posts (auteur du post), les nouvelles notes d’établissement (manager).
|
||||
- **API** : `GET/POST /notifications/user/{userId}`, pagination, marquer lu, supprimer. Voir [SECURITY.md](SECURITY.md) pour l’usage en production (userId issu de l’auth).
|
||||
|
||||
### Jobs planifiés (Quarkus Scheduler)
|
||||
|
||||
- **Stories** : Désactivation des stories expirées (cron : toutes les heures).
|
||||
- **Tokens** : Suppression des tokens de réinitialisation de mot de passe expirés (tous les jours à 3h).
|
||||
- **Abonnements** : Expiration des abonnements établissements et désactivation des établissements non payés (toutes les heures).
|
||||
- **Rappels événements** : Notifications en base pour les participants (J-1 et H-1), exécution toutes les 15 minutes.
|
||||
- **Avertissement abonnement** : Envoi d’emails J-3 avant expiration aux managers (tous les jours à 9h).
|
||||
|
||||
Configuration : `quarkus.scheduler.enabled=true` (désactivé en test via `%test.quarkus.scheduler.enabled=false`).
|
||||
|
||||
### Emails transactionnels
|
||||
|
||||
- **EmailService** : Réinitialisation mot de passe, bienvenue, confirmation de paiement Wave, rappel événement, avertissement expiration abonnement, confirmation de réservation, échec de paiement Wave.
|
||||
- Configuration SMTP via variables d’environnement (`MAILER_HOST`, `MAILER_USERNAME`, `MAILER_PASSWORD`, etc.) ; en test le mailer peut être en mode mock.
|
||||
|
||||
### Paiement Wave (établissements)
|
||||
|
||||
- Initiation de paiement (abonnement mensuel/annuel), webhook `POST /webhooks/wave` pour `payment.completed`, `payment.refunded`, `payment.failed`, etc.
|
||||
- Vérification optionnelle de la signature du webhook (header `X-Wave-Signature`, HMAC-SHA256) si `wave.webhook.secret` est configuré. Voir [SECURITY.md](SECURITY.md).
|
||||
|
||||
---
|
||||
|
||||
## Related Guides
|
||||
|
||||
- Hibernate ORM ([guide](https://quarkus.io/guides/hibernate-orm)): Define your persistent model with Hibernate ORM and Jakarta Persistence
|
||||
@@ -61,6 +91,11 @@ If you want to learn more about building native executables, please consult <htt
|
||||
- Logging JSON ([guide](https://quarkus.io/guides/logging#json-logging)): Add JSON formatter for console logging
|
||||
- JDBC Driver - PostgreSQL ([guide](https://quarkus.io/guides/datasource)): Connect to the PostgreSQL database via JDBC
|
||||
|
||||
## Sécurité et déploiement
|
||||
|
||||
- **Sécurité** : Voir [SECURITY.md](SECURITY.md) (auth, webhook Wave, secrets, validation).
|
||||
- **Docker** : Voir [docker/README.md](docker/README.md) pour lancer l’app et les dépendances (PostgreSQL, etc.).
|
||||
|
||||
## Provided Code
|
||||
|
||||
### Hibernate ORM
|
||||
|
||||
Reference in New Issue
Block a user