# 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.

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