Skip to Content
Wagoo SaaS 1.0.25 is released 🎉
08 DevelopmentLocal SetupConfiguration locale

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.local

Remplissez .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_dev

PostgreSQL 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; \q

PostgreSQL sur Windows

  1. Téléchargez PostgreSQL
  2. Lancez l’installateur
  3. Notez le mot de passe du user postgres
  4. Utilisez psql (CLI PostgreSQL)
psql -U postgres CREATE USER postgres WITH PASSWORD 'password'; CREATE DATABASE wagoo_dev OWNER postgres; \q

Vé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 push

Vé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 --turbo

Vous devez voir :

â–˛ Next.js 15.0.0 - Local: http://localhost:3000 - Environments: .env.local âś“ Ready in 2.3s

Étape 7 : Vérifier l’installation

  1. Ouvrez http://localhost:3000 
  2. Vous devez voir la homepage Wagoo
  3. Cliquez Sign Up
  4. Créez un compte test
  5. 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:5555

MailHog (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:8025

Redis (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.json

Scripts 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 Docker

Dépannage

”Cannot connect to database”

Error: connect ECONNREFUSED 127.0.0.1:5432

Solutions :

  1. PostgreSQL est-il lancé?
# macOS brew services list | grep postgresql # Ubuntu sudo systemctl status postgresql # Windows psql -U postgres -c "SELECT 1"
  1. DATABASE_URL est-elle correcte?
  2. 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 prune

Port 3000 en utilisation

Error: listen EADDRINUSE :::3000

Solutions :

# Trouver le processus lsof -i :3000 # ArrĂŞter le processus kill -9 <PID> # Ou utiliser un autre port PORT=3001 pnpm dev

Recommandations 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