Getting Started
Installez et lancez HeartCo en 5 minutes.
Prérequis
| Outil | Version minimale | Vérification |
|---|---|---|
| Node.js | 20.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 configurez les 6 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
AUTH_SECRET="votre-secret-min-32-chars" # Générer : openssl rand -base64 32
NEXTAUTH_URL="http://localhost:3000"
# URL publique
NEXT_PUBLIC_APP_URL="http://localhost:3000"
# Emails (Resend)
RESEND_API_KEY="re_xxxxxxxxxxxx"Les autres variables (Stripe, OAuth, IA, etc.) sont optionnelles pour le développement local. Consultez Déploiement pour la configuration production.
4. Générer le client Prisma
npx prisma generateLe client est généré dans
generated/prisma/(pas dans node_modules).
5. Créer la base de données
npx prisma migrate dev --name initCette commande applique toutes les migrations et crée les tables dans votre base Supabase.
6. (Optionnel) Seeder les données de démo
npx prisma db seed7. 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
Si vous avez seedé la base de données, les comptes suivants sont disponibles :
| Rôle | Mot de passe | |
|---|---|---|
| Admin | admin@heartco.fr | demo-admin-2026 |
| Manager | manager@heartco.fr | demo-manager-2026 |
| Collaborateur | collab@heartco.fr | demo-collab-2026 |
Commandes utiles
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