Aller au contenu principal

Démarrage rapide

Prérequis

  • Node.js ≥ 18
  • Docker & Docker Compose
  • npm ≥ 9

Installation locale (développement)

1. Cloner et configurer le backend

git clone https://github.com/Crmy7/Nomu-Back.git
cd Nomu-Back
cp .env.example .env
# Éditer .env avec vos valeurs
npm install

2. Démarrer les services (Docker)

# Lance PostgreSQL + Meilisearch + Adminer
docker-compose up -d postgres meilisearch adminer

# Démarrer l'API en mode dev
npm run dev

3. Initialiser les données

# Seed les centres d'intérêt
npm run seed:interests

# Seed des utilisateurs de test
npm run seed

# Indexer tous les profils searchable dans Meilisearch
npm run reindex

4. Configurer Meilisearch AI

# Configure le vector store + l'embedder OpenAI
npm run setup-ai

# Active le vector store (si non fait via setup-ai)
npm run enable-vector

5. Démarrer le frontend web

cd ../Nomu-Web
npm install
npm run dev
# Disponible sur http://localhost:3000

Variables d'environnement minimales

PORT=3001
DB_NAME=nomu_db
DB_USER=nomu_user
DB_PASSWORD=password
DB_HOST=localhost
DB_PORT=5432
MEILI_HOST=http://localhost:7700
MEILI_API_KEY=masterKey
MEILI_INDEX_PROFILES=profiles_dev
OPENAI_API_KEY=sk-...
SESSION_SECRET=random_secret
JWT_SECRET=random_jwt_secret

Scripts disponibles

CommandeDescription
npm run devDémarre l'API avec nodemon (hot reload)
npm startDémarre l'API en production
npm testLance les tests Vitest
npm run seedCrée des utilisateurs de test
npm run seed:interestsInsère les centres d'intérêt
npm run reindexRéindexe tous les profils dans Meilisearch
npm run setup-aiConfigure l'embedder OpenAI dans Meilisearch
npm run clean-indexSupprime les profils d'utilisateurs supprimés

Services Docker (développement)

# docker-compose.yml
services:
postgres:
image: postgres:14
ports: ["5432:5432"]

meilisearch:
image: getmeili/meilisearch:latest
ports: ["7700:7700"]

adminer:
image: adminer
ports: ["8080:8080"] # Interface DB admin

api:
build: .
ports: ["3001:3001"]
depends_on: [postgres, meilisearch]