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]