Getting Started
Installez et lancez HeartCo en 5 minutes.
Prérequis
| Outil | Version minimale | Vérification |
|---|---|---|
| Node.js | 22.x | node -v |
| pnpm | 9.x | pnpm -v |
| PostgreSQL | 15+ (ou Supabase) | — |
| Git | 2.x | git -v |
Important : HeartCo utilise pnpm exclusivement. Ni npm, ni yarn ne sont supportés.
Installation
1. Cloner le projet
git clone https://github.com/votre-org/heartco.git
cd heartco2. Installer les dépendances
pnpm install3. Configurer les variables d'environnement
cp .env.example .envOuvrez .env et renseignez les 3 variables essentielles pour démarrer :
# Base de données (Supabase PostgreSQL)
DATABASE_URL="postgresql://postgres:[PASSWORD]@db.[PROJECT].supabase.co:6543/postgres?pgbouncer=true"
DIRECT_URL="postgresql://postgres:[PASSWORD]@db.[PROJECT].supabase.co:5432/postgres"
# Authentification (générer avec : openssl rand -base64 32)
AUTH_SECRET="votre-secret-min-32-chars"Les autres variables (URLs publiques, Stripe, Resend, OAuth, IA, etc.) prennent des valeurs par défaut en dev (
http://localhost:3000) ou sont entièrement optionnelles. L'envoi d'emails, OAuth Google/Microsoft et les paiements Stripe nécessitent les clés correspondantes — voir Déploiement pour la production.Les intégrations avancées (Stripe Price IDs des plans/modules/bundles, Iopole, Bridge, Mistral, Sentry, Hotjar/PostHog, calendriers Google/Microsoft, etc.) sont documentées séparément dans
apps/web/.env.integrations.example. Copiez uniquement les sections dont vous avez besoin dans votre.env.
4. Préparer la base de données et les données de démo
pnpm setupCette commande orchestre :
prisma generate— génère le client Prisma dansgenerated/prisma/prisma migrate dev— applique toutes les migrationsprisma db seed— peuple la base avec org + utilisateurs + données démo
Sans cette étape, le dashboard sera vide et la connexion impossible.
5. Lancer le serveur de développement
pnpm devLe serveur démarre sur http://localhost:3000 avec Turbopack.
Vérification
Une fois le serveur lancé, vérifiez que tout fonctionne :
- Page d'accueil :
http://localhost:3000— Landing page HeartCo - Login :
http://localhost:3000/login— Page de connexion - Register :
http://localhost:3000/register— Création de compte - Dashboard :
http://localhost:3000/dashboard— (après connexion)
Comptes de démonstration
Après pnpm setup, les comptes suivants sont disponibles pour se connecter :
| Rôle | Mot de passe | |
|---|---|---|
| Admin | admin@heartco.fr | demo-admin-2026 |
| Manager | manager@heartco.fr | demo-manager-2026 |
| Collaborateur | collab@heartco.fr | demo-user-2026 |
Commandes utiles
pnpm setup # Generate + migrate + seed (premier setup ou reset)
pnpm dev # Serveur dev (Turbopack)
pnpm build # Build production
pnpm lint # Vérifier le code (ESLint)
pnpm lint:fix # Corriger automatiquement
pnpm typecheck # Vérifier les types TypeScript
pnpm test # Lancer les tests (Vitest)
pnpm format:write # Formater le code (Prettier)
npx prisma studio # Interface graphique pour la DBStructure du projet
heartco/
├── docs/ # Cette documentation
├── prisma/
│ ├── schema.prisma # Schéma de la base de données
│ └── migrations/ # Migrations SQL
├── generated/prisma/ # Client Prisma généré
├── src/
│ ├── app/ # Pages (App Router)
│ ├── components/ # Composants React
│ ├── lib/ # Utilitaires et configuration
│ ├── modules/ # Modules métier (facturx, iopole, bridge)
│ ├── server/ # API tRPC + authentification
│ └── styles/ # CSS global
├── e2e/ # Tests E2E (Playwright)
├── packages/ # Packages partagés (ui, shared, mobile-core)
└── packages/ # Packages partagés (monorepo)
Pour une vue détaillée de l'architecture, consultez Architecture.
Problèmes courants
EPERM sur Windows (Prisma DLL)
Si vous obtenez une erreur EPERM lors de prisma generate :
Error: EPERM: operation not permitted, unlink 'generated/prisma/query_engine-windows.dll.node'
Solution : Arrêtez le serveur de développement (Ctrl+C), relancez npx prisma generate, puis redémarrez pnpm dev.
Port 3000 déjà utilisé
# Trouver le processus
lsof -i :3000
# Ou sur Windows
netstat -ano | findstr :3000Erreurs de migration Prisma
Si les migrations échouent :
npx prisma migrate reset # Recrée la DB (ATTENTION : perte de données)
npx prisma migrate dev # Réapplique les migrationsProchaines étapes
- Architecture — Comprendre la structure du projet
- Authentification — Configurer les providers OAuth
- Personnalisation — Adapter le branding à votre projet