Documentation technique
Architecture applicative cible pour le MVP et le pilote.
Demarrage recommande en monorepo et backend NestJS modulaire, avec extraction de services seulement quand le besoin est reel.
Monorepo cible
apps/api NestJS backend
apps/admin Next.js backoffice
apps/distributor Next.js portail fournisseur
apps/mobile Expo / React Native SDK 57, livre
packages/shared schemas, types, constantes
infra/compose Docker Compose dev et pilot
docs decisions et runbooks
Socle MVP
- Node.js 20 pour le serveur et Node.js 22 pour la fabrication mobile iOS.
- NestJS avec Fastify plus tard si besoin.
- PostgreSQL comme base principale.
- Redis pour cache, rate limit et jobs simples.
- Swagger/OpenAPI pour contrats API.
- Auth admin et gestion commercants demarrees en Phase 2.
APK Android livre
- Application :
WinWin POSversion1.2.2, code Android6. - Paquet :
ma.codebarre.rabe7.pos. - Compatible Android 7 et versions suivantes.
- API dev HTTPS et paiements sandbox.
- Comptes clients, paiements multi-modes, achats distributeurs, operations de caisse et services simules.
- Sortie de secours testee si le stockage local ne repond pas au demarrage.
- Cycle d'autorisation camera, reprise apres les reglages et relance du scanner ameliores.
- Controle automatique de l'identite, de la signature, des autorisations et des actifs WinWin embarques.
Le nom produit et les libelles visibles sont WinWin. Le paquet et le fichier APK conservent l'identifiant historique rabe7 pour permettre la mise a jour des installations existantes. Le scanner doit encore etre valide sur un telephone physique.
Commandes Android
pnpm --filter @rabe7/mobile build:android:apk
pnpm --filter @rabe7/mobile validate:android:apk
pnpm --filter @rabe7/mobile publish:android:apk
La version pilote exigera une cle privee, une API separee et un paquet Google Play.
Extension achats livree avant le pilote
Domaines separes
- Clients et historique de credit.
- Parts de paiement d'une vente.
- Commandes d'achat et receptions.
- Distributeurs, offres et commandes recues.
Ordre d'integration
- Contrats et parcours POS mobile.
- Achats et reception dans le mobile. Livre.
- Portail web distributeur. Livre.
- Recette complete commerce et distributeur. Validee.
Phase 7.5
Architecture livree pour completer la solution
Le backend reste unique et modulaire. Les partenaires externes sont branches derriere des interfaces stables.
Quatre journaux
- Ventes clients.
- Factures et recharges.
- Achats fournisseurs.
- Commissions et versements WinWin.
Hub services
- Simulateur puis adaptateur partenaire, avec le reel desactive.
- Adaptateur distinct par partenaire.
- Statuts, doublons, recus et reprises.
- Aucune execution hors connexion.
Validation Phase 7.5
Controle automatique avant livraison
Le serveur passe 107 tests et un controle de demarrage complet. Le mobile passe 19 tests, son typecheck, son lint et ses builds web/Android. Une recette navigateur se connecte ensuite aux espaces admin, distributeur et commercant et controle les nouveaux parcours sans conserver les identifiants dans Git.
Version iPhone preparee
- Dev prive :
ma.codebarre.rabe7.pos.dev. - Pilote TestFlight :
ma.codebarre.rabe7.pos. - API dev et pilote separees dans la fabrication.
- Interface adaptee a l'encoche et a la barre d'accueil.
- Camera, icone Apple et declaration de chiffrement controlees.
Etat de la distribution iPhone
La configuration est terminee. Le premier paquet prive sera fabrique apres connexion du compte Expo, du compte Apple Developer et enregistrement de l'iPhone de test.
pnpm --filter @rabe7/mobile validate:ios
pnpm --filter @rabe7/mobile build:ios:dev
Modules backend initiaux
| Module | Responsabilite | Criticite | Validation minimum |
|---|---|---|---|
| Auth | Admins, roles, sessions, hash mots de passe. | Critique | Tests login, RBAC, brute force, logout. |
| Merchants | Commercants, statut, KYC simplifie, suspension. | Eleve | Creation, liste, fiche, edition, KYC simple, statut, RBAC, audit logs. |
| Catalog | Produits, categories, prix, stock. | Moyen | Creation, categories, ajustements, stock non negatif. |
| POS | Panier, ventes, historique, decrement stock. | Eleve | Vente, annulation, exports et synchronisation mobile sans doublon livres. |
| Merchant app | OTP, onboarding, session, tableau de bord et catalogue. | Eleve | Application livree : connexion, dashboard, caisse, scan, historique et reprise hors connexion. |
| Payments | Provider sandbox/reel, QR, webhooks, statuts. | Critique | Sandbox livre : signature, idempotence, rejeu, expiration, refund et echec. |
| Services | Factures, recharges, partenaires, recus et rapprochement. | Critique | Simulateur obligatoire avant un adaptateur partenaire reel. |
| Purchases | Distributeurs, offres, commandes, receptions et stock. | Eleve | Commande, changements acceptes, reception partielle et protection contre les doublons. |
| Distributor app | Session fournisseur, catalogue et traitement des commandes. | Eleve | Isolation, droits, catalogue, acceptation, refus, preparation et expedition valides. |
Principes API
- Contrats documentes dans OpenAPI.
- DTO ou schemas valides a toutes les entrees.
- Erreurs normalisees.
- Correlation ID dans logs.
- Pagination obligatoire sur listes.
Tests attendus
- Unitaires sur logique metier.
- Integration sur API et base.
- E2E Playwright pour backoffice.
- Smoke tests Docker Compose.
- Tests securite sur paiements et RBAC.