dev4 b283f90b75
All checks were successful
build-and-push-ext / build_push (push) Successful in 6s
ci: docker_tag=ext | docs(tests): analyse back-mini
2025-09-18 07:49:56 +00:00

45 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### Objet
Analyse synthétique de `lecoffre-back-mini` (Express + TypeScript).
### Périmètre et stack
- **Serveur**: Express 4
- **Langage**: TypeScript (ts-node en dev, `tsc` en build)
- **Entrée**: `src/server.ts``dist/server.js`
### Arborescence notable
- **`src/routes`**: routes (email, health, idnot, process, sms, stripe)
- **`src/controllers`**: logique par domaine
- **`src/services`**: intégrations (email, idnot, signer, sms, stripe)
- **`src/middleware`**: auth, erreurs, session, validation
- **`src/utils`**: tokens, logger, result, validations, session manager
- **`src/config`**: configuration (email, sms, stripe, signer)
### Comportements serveur
- **CORS**: configurable via `config.cors`
- **Logs requêtes**: middleware chronomètre + `Logger.logRequest`
- **Gestion erreurs**: middleware centralisé `errorHandler`
- **Tâches récurrentes**:
- nettoyage sessions (5 min)
- purge tokens expirés (1 h)
- retry emails (1 min)
- **Arrêts propres**: gestion `SIGINT`/`SIGTERM`, exceptions et promesses rejetées
### Dépendances clés
- **HTTP**: `express`, `cors`
- **Infra**: `pg`, `dotenv`
- **Intégrations**: `stripe`, `@mailchimp/mailchimp_transactional`, `ovh`
- **Interop**: `sdk-signer-client` (lien local `../sdk-signer-client`)
### Points dattention
- **Lien local**: dépendance `sdk-signer-client` en `file:` (vigilance CI/CD)
- **Secrets**: centraliser dans `.env` et ne pas exposer côté client
- **Résilience**: reconnection `SignerService` déjà prévue → surveiller métriques
### Tests et scripts
- **Tests rapides**: scripts `test:*` pour DB, rattachements, reconnection signer
- **Build/Run**: `build`, `start`, `dev`, `watch`
### Déploiement
- **Dockerfile**: présent (image `lecoffre-back-mini` utilisée par `lecoffre_node`)
- **Réseau**: orchestré via `lecoffre_node` (ports, santé, watchtower)