# Xpeditis — Documentation Documentation complète de la plateforme B2B SaaS de réservation de fret maritime. --- ## Démarrage rapide | Objectif | Fichier | |---|---| | Démarrer en 5 minutes | [getting-started/quick-start.md](getting-started/quick-start.md) | | Installation détaillée | [getting-started/installation.md](getting-started/installation.md) | | Windows | [getting-started/windows.md](getting-started/windows.md) | --- ## Architecture | Sujet | Fichier | |---|---| | Vue d'ensemble système | [architecture/overview.md](architecture/overview.md) | | Schéma base de données | [architecture/database.md](architecture/database.md) | | Backend (NestJS hexagonal) | [architecture/backend.md](architecture/backend.md) | | Frontend (Next.js 14) | [architecture/frontend.md](architecture/frontend.md) | --- ## Fonctionnalités | Fonctionnalité | Fichier | |---|---| | Recherche de tarifs (FCL + CSV) | [features/rate-search.md](features/rate-search.md) | | Réservation standard | [features/bookings.md](features/bookings.md) | | Réservation CSV + Portail Carrier | [features/csv-bookings.md](features/csv-bookings.md) | | Authentification & RBAC | [features/auth.md](features/auth.md) | | Abonnements Stripe | [features/subscriptions.md](features/subscriptions.md) | | Notifications temps réel | [features/notifications.md](features/notifications.md) | | Accès API (clés API) | [features/api-access.md](features/api-access.md) | | Système CSV | [../csv-system/CSV_RATE_SYSTEM.md](../csv-system/CSV_RATE_SYSTEM.md) | --- ## Mise en production **[mise-en-prod/](mise-en-prod/README.md)** — procédure complète, pas à pas, pour ouvrir la plateforme au public sur Hetzner. C'est le point d'entrée à suivre pour un déploiement réel. Les fichiers correspondants sont dans [`infra/prod/`](../infra/prod/README.md). | Étape | Fichier | |---|---| | Index, chronologie, blocages identifiés | [mise-en-prod/README.md](mise-en-prod/README.md) | | Prérequis (comptes, outils, clés) | [mise-en-prod/01-prerequis.md](mise-en-prod/01-prerequis.md) | | Provisioning Hetzner (Terraform) | [mise-en-prod/02-provisioning-hetzner.md](mise-en-prod/02-provisioning-hetzner.md) | | Durcissement des serveurs | [mise-en-prod/03-durcissement-serveurs.md](mise-en-prod/03-durcissement-serveurs.md) | | Nœud de données (PostgreSQL, Redis) | [mise-en-prod/04-noeud-donnees.md](mise-en-prod/04-noeud-donnees.md) | | Cluster k3s | [mise-en-prod/05-cluster-k3s.md](mise-en-prod/05-cluster-k3s.md) | | Secrets (SOPS + age) | [mise-en-prod/06-secrets-sops.md](mise-en-prod/06-secrets-sops.md) | | Stockage objet | [mise-en-prod/07-stockage-objet-s3.md](mise-en-prod/07-stockage-objet-s3.md) | | DNS, TLS, Cloudflare | [mise-en-prod/08-dns-tls-cloudflare.md](mise-en-prod/08-dns-tls-cloudflare.md) | | Déploiement applicatif | [mise-en-prod/09-deploiement-application.md](mise-en-prod/09-deploiement-application.md) | | CI/CD GitHub Actions | [mise-en-prod/10-cicd-github-actions.md](mise-en-prod/10-cicd-github-actions.md) | | Observabilité | [mise-en-prod/11-observabilite.md](mise-en-prod/11-observabilite.md) | | Sauvegardes et restauration | [mise-en-prod/12-sauvegardes-restauration.md](mise-en-prod/12-sauvegardes-restauration.md) | | Sécurité | [mise-en-prod/13-securite-durcissement.md](mise-en-prod/13-securite-durcissement.md) | | Runbook de mise en ligne | [mise-en-prod/14-runbook-go-live.md](mise-en-prod/14-runbook-go-live.md) | | Exploitation et incidents | [mise-en-prod/15-exploitation-incidents.md](mise-en-prod/15-exploitation-incidents.md) | | RGPD et conformité | [mise-en-prod/16-rgpd-conformite.md](mise-en-prod/16-rgpd-conformite.md) | --- ## Déploiement — autres environnements | Sujet | Fichier | |---|---| | Preprod : Portainer / Docker Swarm | [deployment/portainer.md](deployment/portainer.md) | | Étude Hetzner / Kubernetes (antérieure) | [deployment/hetzner/README.md](deployment/hetzner/README.md) | | Stripe (paiements) | [deployment/STRIPE_SETUP.md](deployment/STRIPE_SETUP.md) | > `deployment/hetzner/` est l'étude de cadrage qui a précédé la mise en œuvre. > Elle reste utile pour comprendre les arbitrages, mais **la procédure à suivre > est `mise-en-prod/`**, seule alignée sur les fichiers réellement livrés dans > `infra/prod/`. --- ## Tests | Sujet | Fichier | |---|---| | Guide tests (unité, intégration, E2E) | [testing/TEST_EXECUTION_GUIDE.md](testing/TEST_EXECUTION_GUIDE.md) | | Tests locaux | [testing/LOCAL_TESTING.md](testing/LOCAL_TESTING.md) | | Tests manuels | [testing/MANUAL_TEST_INSTRUCTIONS.md](testing/MANUAL_TEST_INSTRUCTIONS.md) | | Postman | [testing/GUIDE_TESTS_POSTMAN.md](testing/GUIDE_TESTS_POSTMAN.md) | | Couverture | [testing/TEST_COVERAGE_REPORT.md](testing/TEST_COVERAGE_REPORT.md) | --- ## Portail Carrier | Sujet | Fichier | |---|---| | Recherche API carriers | [carrier-portal/CARRIER_API_RESEARCH.md](carrier-portal/CARRIER_API_RESEARCH.md) | | Plan d'implémentation | [carrier-portal/CARRIER_PORTAL_IMPLEMENTATION_PLAN.md](carrier-portal/CARRIER_PORTAL_IMPLEMENTATION_PLAN.md) | --- ## Archives Les rapports de sprint et notes de debug sont archivés dans [archive/](archive/). --- ## Pour les développeurs ### Lire dans cet ordre 1. [getting-started/quick-start.md](getting-started/quick-start.md) — démarrer le projet 2. `CLAUDE.md` à la racine — **architecture hexagonale, règles et conventions** 3. [architecture/overview.md](architecture/overview.md) — vision système 4. [architecture/database.md](architecture/database.md) — schéma BDD complet ### Commandes essentielles ```bash # Infrastructure docker-compose up -d # Démarrer npm run backend:dev # http://localhost:4000 — Swagger: /api/docs npm run frontend:dev # http://localhost:3000 # Tests npm run backend:test npm run frontend:test # Migrations cd apps/backend && npm run migration:run ```