Châtaigne est une plateforme qui transforme WhatsApp en solution complète de
commande par language naturel pour les restaurants.
Principes Architecturaux Fondamentaux
Domain-Driven Design
Séparation claire entre la logique métier et les détails techniques
Clean Architecture
Structure en couches concentriques pour une meilleure organisation
Event-Driven
Architecture orientée événements pour un découplage optimal
1. Domain-Driven Design (DDD)
Notre architecture suit les principes du Domain Driven Design pour maintenir une séparation claire entre la logique métier et les détails techniques. Cela nous permet de :Isoler le domaine métier des détails d’implémentation
Faciliter l’ajout et la modification des différentes intégrations sans
impacter le cœur métier
Maintenir une cohérence dans le traitement des commandes à travers différents
canaux
2. Clean Architecture
L’application est structurée en plusieurs couches concentriques :1
Domain Layer
Cœur métier, entités et règles business
2
Application Layer
Orchestration des use cases et flux métier
3
Infrastructure Layer
Implémentation technique et intégrations
4
Presentation Layer
API REST et webhooks
3. Event-Driven
Notre système est fortement orienté événements afin de découpler la logique de chaque intégration en réaction à certains évenements :Stack Technique
Technologies Principales
Framework
NestJS (Node.js)
Base de données
PostgreSQL avec Prisma ORM
Message Queue
Redis/BullMQ
Cache
Redis
API Documentation
OpenAPI/Swagger
Intégrations Principales
Messaging
WhatsApp Business API via 360Dialog
Paiement
Stripe
POS
Hubrise
Livraison
Uber Direct, Shipday
Impression
Expedy
Principes de Design Clés
1
Modularité
• Chaque intégration est isolée dans son propre module• Les adaptateurs permettent de modifier les classes domaine en classe adaptée à chaque intégration
2
Résilience
• Gestion des erreurs standardisés• Retry patterns pour les appels externes• Queue de messages pour les opérations asynchrones lourdes en ressources/temps
3
Scalabilité
• Architecture modulaire• Interface claires pour les fonctionnalités stratégiques permettant de remplacer facilement l’intégration• Interface claire des intégrations de Messaging pour un switch simple entre Whatsapp et Instagram
4
Maintenabilité
• Tests unitaire, integration et E2E pour chaque fonctionnalités• Monitoring complet• Documentation à jour• Code standardisé