Cores
Modules d'infrastructure de src/core, chacun couvre un domaine, aucun ne dépend d'un autre.
Chaque core contient uniquement du code propre à son domaine. Aucune logique métier, aucune dépendance vers un autre core. Les features et les modules les consomment, jamais l'inverse.
Services
| Core | Sous-chemin | Rôle |
|---|---|---|
| API | @fraza/core/api | Routeur HTTP unique de la plateforme, sous /fraza/api/*. |
| Base de données | @fraza/core/database | Pool Postgres, requêtes paramétrées, transactions, helpers CRUD. |
| Utilisateurs | @fraza/core/users | Comptes, sessions, rôles, permissions, tokens de vérification. |
| Courriel | @fraza/core/email | Envoi via Resend ou SMTP, gabarit BaseLayout React Email. |
| Stockage | @fraza/core/storage | Providers S3-compatibles, validation de fichiers, contrôle d'accès. |
| Paiements | @fraza/core/payments | Wrapper Stripe : checkout, intents, clients, remboursements, webhooks. |
@fraza/core/pdf | Primitives React PDF et nommage de fichiers. | |
| Cron | @fraza/core/cron | Jobs planifiés qui survivent au hot-reload. |
| Chiffrement | @fraza/core/crypto | AES-256-GCM pour les secrets stockés en base. |
Interface
| Core | Sous-chemin | Rôle |
|---|---|---|
| Toasts | @fraza/core/toast | Notifications client, provider et hook. |
| Thèmes | @fraza/core/themes, /define, /server | Thème du projet, jetons de couleur, bascule clair/sombre sans flash au chargement. |
Registres
Ces cores ne font rien par eux-mêmes : ils stockent des enregistrements faits au boot par les modules et le projet hôte.
| Core | Sous-chemin | Rôle |
|---|---|---|
| Modules | @fraza/core/modules | Registre des @fraza/module-* et @fraza-pro/module-* découverts et activés. |
| Templates | @fraza/core/templates | Templates de rendu public d'un contenu CMS. |
| Contenu public | @fraza/core/public-content | Résolveurs de contenu servi à la racine du site. |
| Pages publiques | @fraza/core/public-pages | Pages de module servies sous /fraza/<module>/.... |
Outillage
| Core | Sous-chemin | Rôle |
|---|---|---|
| Registre npm | interne (CLI fraza-key) | Synchronisation du token du registre et des lignes de scope dans le .npmrc du projet. |