Configuration locale
Guide complet pour mettre en place votre environnement de développement Wagoo.
Étape 1 : Cloner le repository
# Clone Wagoo
git clone https://github.com/wagoo/wagoo.git
cd wagoo
# Ou avec SSH
git clone git@github.com:wagoo/wagoo.git
cd wagooÉtape 2 : Installer les dépendances
Vérifier les versions
node --version # Doit ĂŞtre 18.0.0+
pnpm --version # Doit ĂŞtre 8.0.0+Installer les packages
# Avec pnpm (recommandé)
pnpm install
# Sinon avec npm
npm install
# Ou yarn
yarn installÉtape 3 : Créer le fichier .env.local
cp .env.example .env.localRemplissez .env.local :
# Database
DATABASE_URL="postgresql://postgres:password@localhost:5432/wagoo_dev"
# Auth - better-auth
BETTER_AUTH_SECRET="dev-secret-key-must-be-at-least-32-characters-long!!"
BETTER_AUTH_URL="http://localhost:3000"
# Stripe (optionnel, utilise des clés test)
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="pk_test_..."
STRIPE_SECRET_KEY="sk_test_..."
STRIPE_WEBHOOK_SECRET="whsec_test_..."
# OAuth GitHub (optionnel)
GITHUB_ID="..."
GITHUB_SECRET="..."
# OAuth Google (optionnel)
GOOGLE_ID="..."
GOOGLE_SECRET="..."
# Email (optionnel)
SMTP_HOST="localhost"
SMTP_PORT="1025"
SMTP_USER="test"
SMTP_PASSWORD="test"
SMTP_FROM="test@localhost"
# Autre
NODE_ENV="development"Étape 4 : Créer la base de données
PostgreSQL sur macOS
# Installer avec Homebrew
brew install postgresql
# Démarrer le service
brew services start postgresql
# Créer l'utilisateur
createuser -P postgres
# Créer la base de données
createdb -U postgres wagoo_devPostgreSQL sur Ubuntu/Debian
# Installer
sudo apt install postgresql postgresql-contrib
# Créer l'utilisateur et la base
sudo -u postgres psql
CREATE USER postgres WITH PASSWORD 'password';
CREATE DATABASE wagoo_dev OWNER postgres;
\qPostgreSQL sur Windows
- Téléchargez PostgreSQL
- Lancez l’installateur
- Notez le mot de passe du user postgres
- Utilisez psql (CLI PostgreSQL)
psql -U postgres
CREATE USER postgres WITH PASSWORD 'password';
CREATE DATABASE wagoo_dev OWNER postgres;
\qVérifier la connexion
# Tester la connexion
psql postgresql://postgres:password@localhost:5432/wagoo_dev
# Si succès, vous êtes dans la DB
# Quitter
\qÉtape 5 : Configurer Prisma
Appliquer les migrations
# Créer la structure de la base (migrations)
pnpm prisma migrate deploy
# Ou initialiser avec seed
pnpm prisma db pushVérifier le schéma
# Voir le schéma Prisma
cat prisma/schema.prisma
# Ou ouvrir Prisma Studio
pnpm prisma studioÉtape 6 : Lancer le serveur de développement
# Mode développement
pnpm dev
# Ou avec reload au changes
pnpm dev --turboVous devez voir :
â–˛ Next.js 15.0.0
- Local: http://localhost:3000
- Environments: .env.local
✓ Ready in 2.3sÉtape 7 : Vérifier l’installation
- Ouvrez http://localhost:3000Â
- Vous devez voir la homepage Wagoo
- Cliquez Sign Up
- Créez un compte test
- Créez un projet test
Outils supplémentaires
Prisma Studio (optionnel)
# Voir et modifier les données en interface graphique
pnpm prisma studio
# Ouvre http://localhost:5555MailHog (pour les emails en dev)
# Installation Docker
docker run -p 1025:1025 -p 8025:8025 mailhog/mailhog
# Voir les emails envoyés
open http://localhost:8025Redis (optionnel, pour le caching)
# Installation Docker
docker run -p 6379:6379 redis:latest
# Dans .env.local
REDIS_URL="redis://localhost:6379"Structure des fichiers
wagoo/
├── app/ # App Router (routes Next.js)
│ ├── api/ # API routes
│ ├── (auth)/ # Routes d'authentification
│ ├── (dashboard)/ # Routes du dashboard
│ └── layout.tsx # Layout principal
├── components/ # Composants React réutilisables
├── lib/ # Utilitaires et helpers
├── prisma/ # Schéma et migrations BD
├── public/ # Assets statiques
├── styles/ # CSS global
├── types/ # Définitions TypeScript
└── package.jsonScripts npm/pnpm
# Development
pnpm dev # Lancer le serveur
pnpm dev --turbo # Avec Turbo (plus rapide)
# Building
pnpm build # Build pour production
pnpm start # Lancer la build prod
# Testing
pnpm test # Lancer les tests
pnpm test:watch # Mode watch
# Linting
pnpm lint # Vérifier ESLint
pnpm lint:fix # Corriger les erreurs
pnpm format # Prettier format
# Database
pnpm prisma migrate dev # Créer une migration
pnpm prisma studio # Interface graphique
pnpm prisma db push # Appliquer changements
# Docker (optionnel)
pnpm docker:up # Démarrer PostgreSQL Docker
pnpm docker:down # Arrêter PostgreSQL DockerDépannage
”Cannot connect to database”
Error: connect ECONNREFUSED 127.0.0.1:5432Solutions :
- PostgreSQL est-il lancé?
# macOS
brew services list | grep postgresql
# Ubuntu
sudo systemctl status postgresql
# Windows
psql -U postgres -c "SELECT 1"- DATABASE_URL est-elle correcte?
- Mot de passe correct?
”Cannot find module”
Error: Cannot find module 'X'Solutions :
# Réinstaller les dépendances
rm -rf node_modules
pnpm install
# Effacer le cache
pnpm store prunePort 3000 en utilisation
Error: listen EADDRINUSE :::3000Solutions :
# Trouver le processus
lsof -i :3000
# ArrĂŞter le processus
kill -9 <PID>
# Ou utiliser un autre port
PORT=3001 pnpm devRecommandations VS Code
Extensions
- ESLint
- Prettier
- TypeScript Vue Plugin
- Tailwind CSS IntelliSense
- Thunder Client (tester les API)
Fichier settings.json
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}Prochaines étapes
→ HTTPS local pour tester les paiements → Gestion de la base de données
Last updated on