Premiers pas
Configurez votre environnement de développement et lancez Rolebase en local.
Prérequis
Avant de commencer, assurez-vous d’avoir installé les éléments suivants :
- Node.js (v18 ou ultérieur)
- npm (inclus avec Node.js)
- Docker et Docker Compose (nécessaires pour le développement local avec Nhost)
- Nhost CLI (installé globalement)
Nhost exécute ses services backend (PostgreSQL, Hasura, Auth, Storage) dans des conteneurs Docker. Assurez-vous que Docker Desktop est en cours d’exécution avant de continuer.
Cloner le dépôt
git clone https://github.com/Godefroy/rolebase.git
cd rolebase.io
Installer les dépendances
Rolebase utilise les workspaces npm. Installez toutes les dépendances depuis la racine :
npm install
Cela installe les dépendances de tous les packages : webapp, backend, shared, et plus encore.
Configurer Nhost
Rolebase utilise Nhost pour l’authentification, la base de données (PostgreSQL via Hasura) et le stockage. Pour le développement local, vous exécutez Nhost localement avec le CLI.
Se connecter à Nhost
nhost login
Démarrer le backend Nhost
nhost up
Cela lance des instances locales de PostgreSQL, Hasura, Nhost Auth et Nhost Storage via Docker. Le premier lancement peut prendre quelques minutes pour télécharger les images.
Une fois Nhost en cours d’exécution, vous pouvez accéder à la console Hasura à
l’adresse http://localhost:9695 pour inspecter le schéma de la base de
données et exécuter des requêtes GraphQL.
Configurer les secrets
Créez un fichier .secrets à la racine de la configuration Nhost s’il n’existe pas déjà. Ce fichier contient les secrets spécifiques à l’environnement (identifiants SMTP, clés API, etc.) requis par certaines fonctions backend.
Le fichier .secrets est ignoré par git. Ne commitez jamais d’identifiants ou
de clés API dans le dépôt.
Lancer le serveur de développement
Démarrez l’application web en mode développement :
npm run dev
Puis ouvrez votre navigateur à l’adresse http://localhost:3000.
Structure du projet
Le dépôt est organisé comme un monorepo avec des workspaces npm :
| Package | Description |
|---|---|
packages/webapp | Frontend React (Vite, Chakra UI) |
packages/backend | Backend tRPC et fonctions serverless |
packages/shared | Types et utilitaires partagés |
packages/website | Site de documentation (Astro) |
Prochaines étapes
- Explorez le guide Intégrations personnalisées pour apprendre à utiliser l’API GraphQL.
- Parcourez la Référence API pour le schéma complet des entités.