Architecture
Vue d'ensemble technique du Core UniFam.
Vue d'ensemble
Dépôts
Chaque brique a ses propres dépôts, hébergés sur Forgejo.
| Brique | Dépôts |
|---|---|
| Core | unifam-core-sdk, unifam-core-backend, unifam-core-frontend |
| Taskify | unifam-taskify-sdk, unifam-taskify-backend, unifam-taskify-frontend |
| Documentation API | unifam-api-docs |
Backend
Le backend est écrit en TypeScript avec NestJS et suit une architecture hexagonale : le domaine métier ne dépend ni du framework, ni de la base de données, ni de la bibliothèque d'authentification.
SDK
@unifam/core-sdk est une bibliothèque de contrats uniquement : schémas Zod, types dérivés, aucune logique applicative. Elle est partagée par le backend et le frontend.
Les contrats d'un module (par exemple Project et Task pour Taskify) vivent dans le SDK du module, jamais dans celui du Core.
Le SDK est publié sur le registre npm privé du projet : voir SDK.
API
L'API est versionnée sous /api/v1 :
healthauth: login, logout, session, meusersfamiliesfamilies/:familyId/members
Déploiement
Le Core est livré sous forme d'images Docker, conçues pour l'auto-hébergement.
Les détails de développement sont dans la section Développement.