wari.pro — Project Documentation Index
Date génération : 2026-05-23 Mode : initial_scan (Deep) Repository : multi-part (2 parts : backend + mobile)
Project Overview
- Type : multi-part avec 2 parts indépendantes (pas de tooling monorepo)
- Primary Languages : TypeScript (backend + mobile)
- Architecture : full-stack Next.js (backend) + Expo SDK 54 mobile-only
- Business : marketplace SaaS B2B2C wari.pro pour le Burkina Faso / Afrique de l'Ouest
Quick Reference
Part backend — app/
- Type : web (full-stack Next.js)
- Tech Stack : Next.js 16.2.2 (App Router + Turbopack) · TypeScript strict · Prisma 7.6 · PostgreSQL 15 · Redis 7 · MinIO · Typesense · JWT custom (jose) · Resend · Vonage · Sentry · PostHog · Zustand · Tailwind 4 · Zod 4 · Vitest 3
- Entry points :
app/src/app/layout.tsx,app/src/app/page.tsx,app/src/app/[slug]/page.tsx,app/src/app/admin/layout.tsx,app/src/app/superadmin/layout.tsx - Volumétrie : 280 routes API · 186 sous
/api/mobile/*· 72 modèles Prisma · 36 enums · 73 migrations · 33 composantssrc/components/
Part mobile — mobile-staging/
- Type : mobile (Expo + React Native)
- Tech Stack : Expo SDK 54 · RN 0.81.5 · expo-router v6 (file-based) · Zustand 5 · React Query 5 · expo-notifications (FCM + APNs) · expo-camera · expo-secure-store · phosphor-react-native · i18next · Sentry RN · Jest 29
- Entry points :
mobile-staging/app/_layout.tsx,(tabs)/_layout.tsx,vitrine-pro/_layout.tsx - Volumétrie : 239 composants · 16 stores Zustand · ~60 hooks React Query · 50+ routes file-based · bundle iOS
pro.wari.mobile· slug Expowari-mobile - Source dev :
~/DEVELOPPEMENT/sur machine fabrice (192.168.1.152) —mobile-staging/sur le VPS est un miroir - Builds : EAS (channels
development/preview/production) — TestFlight build 4 + 17 OTA prod
Generated Documentation
- Project Overview — Pitch produit, 3 piliers, stack, volumétrie, état actuel
- Source Tree Analysis — Arborescence annotée des 2 parts
- Architecture Backend — Pattern modular monolith, multi-tenancy, JWT unifié, vitrine builder
- Architecture Mobile — Deux espaces in-app (client tabs + gérant vitrine-pro), Zustand stores, push, EAS builds
- API Contracts — Conventions + 186 routes /api/mobile/* + admin + superadmin + panier + webhooks
- Data Models (Prisma) — 72 modèles, 36 enums, 73 migrations + indexes critiques
- Component Inventory — Backend — admin shell, vitrine renderer, builder
- Component Inventory — Mobile — UI building blocks, vitrine-pro, hooks, stores
- Development Guide — Backend — Install local Docker, Prisma workflow, conventions, debug
- Development Guide — Mobile — Reverse SSH tunnel, EAS profiles, OTA vs natif, conventions
- Deployment Guide — VPS Debian (docker compose + nginx + backups) + EAS Build + TestFlight + Play Store
- Integration Architecture — Auth unifiée, push, iCal, médias MinIO, builder, search, services externes, data flow commande
Project Parts metadata
- project-parts.json — JSON structuré des 2 parts + integration_points (utilisable par tooling)
- project-scan-report.json — State file workflow (resume/audit trail)
Existing Documentation
CLAUDE.md— règle de maintenance des diagrammes Excalidraw (root)app/CLAUDE.md— document pivot : pitch + 3 piliers + stack + règles auth + workflow Notion + 232 WP + 134 BUG + 223 DEC documentésapp/AGENTS.md— notice "This is NOT the Next.js you know" (breaking changes vs training data)README.md— procédure VPS (docker compose, prisma, perms)app/Docs/architecture-gerant.excalidraw— Diagramme espace gérant (239 éléments, TabBar dynamique + 4 onglets Réglages + zone WP-228 restau + zone WP-232 Réglages)app/Docs/architecture-client.excalidraw— Diagramme espace client (5 onglets, niveaux accès, flows réservation/repas, contact dynamique, paiement USSD)app/Docs/wari mobile.excalidrawapp/docs/runbook-backups.md— Runbook backups Postgres + MinIOapp/docs/beta-testing-guide.mdtests-pratiques/cils-et-or/— Fixtures session test TestFlight (tenant Cils & Or)_bmad/— Framework BMAD v6.7.1 installé (44 skills.claude/skills/bmad-*, module bmm FR expert)
Getting Started
Pour comprendre le projet
- Lire project-overview.md (pitch + stack en 5 min)
- Lire
app/CLAUDE.md(pitch détaillé + 3 piliers + règles techniques + workflow) - Parcourir source-tree-analysis.md (annotation des dossiers critiques)
- Ouvrir les diagrammes Excalidraw dans
app/Docs/pour la vue UX
Pour reprendre le développement
Backend (sur VPS)
cd ~/superApp_V1
docker compose up -d
docker compose logs -f nextjs
# Puis : voir development-guide-backend.mdMobile (sur machine fabrice via SSH reverse)
ssh -p 2222 fabrice@127.0.0.1
cd ~/DEVELOPPEMENT
npm install
npx expo start --lan
# Puis : voir development-guide-mobile.mdPour planifier une nouvelle feature
Workflow recommandé (cf. app/CLAUDE.md section "Workflow Notion") :
- Consulter Sprints Notion (filtre P0/P1, statut À faire)
- Décision technique structurante ? → présenter au user au format
🤔 DÉCISION REQUISEavant tout code - Implémenter (suivre conventions par part : voir guides dev)
- Créer entrées Notion : WP-XXX (Roadmap), BUG-XXX (Bug Tracker), DEC-XXX (Décisions techniques)
- MAJ Excalidraw si feature touche espace gérant ou flows client (règle CLAUDE.md racine)
- Rapport fin de session (format dans
app/CLAUDE.md)
Pour cadrer un epic significatif
Utiliser le framework BMAD installé :
/bmad-help— recommandation skill selon contexte/bmad-prd— créer/valider PRD/bmad-create-architecture— design architecture/bmad-create-story— break PRD en stories/bmad-dev-story— implémenter une story
À utiliser pour epics, pas pour bugfixes (garder workflow Notion classique).
Verification Recap
- Tests/extractions exécutés : structure scan multi-part (
find,ls,wc) + lecture sélective package.json + schema.prisma metadata + docker-compose + eas.json + app.json + CLAUDE.md backend (massif, 232 WP + 134 BUG + 223 DEC). Pas de lecture exhaustive des fichiers source (deep scan, pas exhaustive). - Outstanding risks / follow-ups :
- Phase A tests API routes à 0% — référencé audit 2026-05-20 (5.5/10 global)
- Couverture tests backend : 8 unitaires lib/, pas de tests E2E CI
- Tests mobile partiels, pas de Detox/Maestro
- 3 TSC errors résiduelles backend (cf. audit 2026-05-15) — à éclaircir
- Sentry monitoring actif mais 0% prod monitoring custom dashboards documentés
- Recommandations next checks :
- Tester un re-run idempotent du seed
WARI_SEED_PROFILE=demosur DB existante (vérifier 0 mutation) - Vérifier que les Excalidraw
architecture-gerant/architecture-clientreflètent bien WP-232+WP-228+WP-224+WP-225 (closure 2026-05-10) - Vérifier que
mobile-staging/sur VPS est aligné avec~/DEVELOPPEMENT/sur machine fabrice (git log -1sur les 2 → comparer SHA) - Tester healthcheck
/api/mobile/healthretourne 200 sans dépendances cassées
- Tester un re-run idempotent du seed