Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
140 lines
5.8 KiB
Markdown
140 lines
5.8 KiB
Markdown
# 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
|
|
```
|