Vue d’ensemble
Kit’Asso utilise 10 tables PostgreSQL hébergées sur Nhost et exposées via Hasura GraphQL. La base de données est organisée en 4 domaines fonctionnels : le catalogue d’outils, les workflows guidés, les packs curés et le système de quiz avec recommandations personnalisées. Architecture :- Core Tables (5) : tools, categories, filters, tool_features, site_assets
- Workflow Tables (2) : workflows, workflow_steps
- Pack System (2) : tool_packs, pack_tools
- Quiz System (4+) : quizzes, quiz_questions, quiz_answers, quiz_recommendations, quiz_responses
- GraphQL via Hasura (auto-généré depuis le schéma PostgreSQL)
- Permissions Hasura par rôle (public/admin) — pas de RLS PostgreSQL
- API Layer centralisée dans
src/api/avecapiCall()/apiCallVoid()
Core Tables
1. tools
Table principale du catalogue d’outils numériques. Colonnes :2. categories
Classification des outils par domaine d’activité.3. filters
Définitions de fonctionnalités et capacités des outils.4. tool_features (Join Table)
Relation many-to-many entre tools et filters.5. site_assets
Gestion centralisée des assets du site (logos, images).https://{subdomain}.storage.{region}.nhost.run/v1/files/{fileId}).
Workflow Tables
6. workflows
Parcours guidés étape par étape pour la transformation numérique.7. workflow_steps
Détails enrichis des étapes de workflow.Pack System
8. tool_packs
Collections curées d’outils pour des cas d’usage spécifiques.9. pack_tools (Join Table)
Relation many-to-many entre packs et tools avec ordering.Quiz System
10. quizzes
quiz_questions, quiz_answers, quiz_recommendations, quiz_responses
Ces tables suivent le même pattern — voir les fichiers de migration pour les détails complets. Query GraphQL pour charger un quiz :Relations et Cardinalités
- Suppression d’un
tool→ supprime sestool_featuresetpack_tools - Suppression d’un
workflow→ supprime sesworkflow_steps - Suppression d’un
quiz→ supprimequestions,answers,recommendations,responses - Suppression d’une
category→ SET NULL surtools.category_id
Ressources
Permissions Hasura
Contrôle d’accès par rôle
Storage
Gestion des logos et assets via Nhost Storage
API Layer
Utilisation de l’API pour requêter via GraphQL
Nhost & GraphQL
Architecture backend