xpeditis2.0/docs/getting-started/quick-start.md
2026-05-14 21:11:54 +02:00

161 lines
3.3 KiB
Markdown

# Démarrage rapide — Xpeditis
Guide de démarrage en 5 minutes.
---
## Prérequis
- **Node.js** ≥ 20.x
- **npm** ≥ 10.x
- **Docker** + Docker Compose (pour PostgreSQL, Redis, MinIO)
---
## 1. Installer les dépendances
```bash
npm run install:all
```
> Sur Windows si l'installation échoue, voir [windows.md](windows.md).
---
## 2. Démarrer l'infrastructure
```bash
docker-compose up -d
```
Vérifier que tout est actif :
```bash
docker-compose ps
# postgres Up (healthy)
# redis Up (healthy)
# minio Up (healthy)
```
---
## 3. Configurer l'environnement
```bash
cp apps/backend/.env.example apps/backend/.env
cp apps/frontend/.env.example apps/frontend/.env.local
```
Les valeurs par défaut fonctionnent pour le développement local — aucune modification nécessaire.
---
## 4. Exécuter les migrations
```bash
cd apps/backend && npm run migration:run && cd ../..
```
---
## 5. Démarrer les serveurs
```bash
# Terminal 1
npm run backend:dev
# → http://localhost:4000/api/v1
# → Swagger: http://localhost:4000/api/docs
# Terminal 2
npm run frontend:dev
# → http://localhost:3000
```
---
## Vérification
| URL | Attendu |
|-----|---------|
| http://localhost:4000/api/v1/health | `{"status":"ok"}` |
| http://localhost:4000/api/docs | Swagger UI |
| http://localhost:3000 | Page d'accueil Xpeditis |
---
## Commandes de référence
```bash
# Développement
npm run backend:dev # Backend avec hot-reload
npm run frontend:dev # Frontend avec hot-reload
# Tests
npm run backend:test # Tests unitaires backend
npm run frontend:test # Tests unitaires frontend
cd apps/backend && npm run test:integration # Tests d'intégration
cd apps/frontend && npm run test:e2e # Tests E2E Playwright
# Qualité de code
npm run backend:lint # ESLint backend
npm run frontend:lint # ESLint frontend
npm run format # Prettier (tous les fichiers)
npm run format:check # Vérifier le formatage
# Base de données
cd apps/backend
npm run migration:generate -- src/infrastructure/persistence/typeorm/migrations/NomMigration
npm run migration:run
npm run migration:revert
# Build
npm run backend:build # Build NestJS
npm run frontend:build # Build Next.js
npm run clean # Supprimer node_modules, dist, .next
```
---
## Infrastructure locale (Docker)
| Service | URL / Port | Credentials |
|---------|-----------|-------------|
| PostgreSQL | localhost:5432 | xpeditis / xpeditis_dev_password |
| Redis | localhost:6379 | password: xpeditis_redis_password |
| MinIO API | http://localhost:9000 | minioadmin / minioadmin |
| MinIO Console | http://localhost:9001 | minioadmin / minioadmin |
---
## Comptes de test (après migration)
Les migrations seed créent automatiquement des comptes de test. Voir la migration `1730000000007-SeedTestUsers.ts` pour les credentials exacts.
---
## Résolution de problèmes courants
**Backend ne démarre pas :**
```bash
cd apps/backend && rm -rf node_modules && npm install && npm run dev
```
**Erreur de migration :**
```bash
cd apps/backend
npm run migration:revert # Annuler la dernière migration
npm run migration:run # Relancer
```
**Port déjà utilisé :**
```bash
# Modifier PORT dans apps/backend/.env
PORT=4001
```
**Docker ne démarre pas :**
```bash
docker-compose down
docker-compose up -d
```