#
Architecture
L'architecture du projet est illustrée ci-dessous :
#
Description de l'architecture :
L'architecture est composé :
- D'une stack App ,qui inclut des services clés (Django, AirNotifier, Elasticsearch) et communique avec des applications web (Next.js TypeScript), mobiles (Flutter) et tierces via une API centralisée.T
- D'une stack Moniteur, qui inclut des services de surveillances: grafana et promotheus.Elle est connecté au Stack App pour récupérer et visualiser les logs et performances de l'application
L’architecture prend en charge :
Une base de données PostgreSQL hébergée en externe. Une sauvegarde périodique des données PostgreSQL et des images Docker du stack App.
Une intégration avec une API SMS, dont les URL et credentials sont déclarés comme variables d’environnement.
Une configuration pour rendre l'API accessible via un nom de domaine à l’aide de Docker Proxy Manager.
A cela s'ajoute:
#
Frontend :
Web : Une application Next.js (TypeScript) accessible depuis des navigateurs modernes.
#
Mobile (Android/iOS) :
Une application Flutter, offrant une expérience native sur les appareils mobiles.
#
Applications tierces :
Possibilité pour des systèmes externes d'interagir via l'API.
Précision
#
API Backend contient trois services principaux :
# Django pour la logique métier.# AirNotifier : Pour les notifications push.# Elasticsearch : Pour la recherche et l’indexation des données.
#
API SMS :
Intégration avec un service tiers pour l’envoi de messages.
#
Base de données PostgreSQL :
- Stocke les données critiques du CRM.
- Hébergée en externe mais connectée à la stack backend.
- Sauvegarde des données :
Les données de PostgreSQL et les images du stack Docker sont sauvegardées périodiquement pour éviter les pertes.