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 :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
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
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
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