Architecture technique

Flowz est une plateforme de sourcing et de qualification de leads qui combine le scraping intelligent, l’orchestration des données, et la gestion des leads dans un flux de travail unifié. Cette documentation présente l’architecture technique qui permet cette automatisation.

Architecture système

L’architecture système s’articule autour de plusieurs modules spécialisés :

Composants principaux

  • API Gateway : FastAPI avec validation OpenAPI
  • Service Auth : Gestion des utilisateurs et permissions
  • Service Workflows : Orchestration des pipelines de leads
  • Service Payments : Gestion des abonnements et paiements
  • Service Monitoring : Surveillance et alertes
  • Scraping Engine : Acquisition intelligente de données
  • Data Enrichment : Enrichissement et qualification des données
  • CRM Module : Gestion centralisée des leads
  • Workflow Engine : Automatisation des processus

Structure du projet

L’organisation du code suit une architecture modulaire. Voici la structure du Core (application centrale de gestion) :

flowz-core/                # Application centrale de gestion
├── routes/               # Routes de l'API
│   ├── auth.py          # Authentification
│   ├── workflows.py     # Gestion des leads
│   ├── payments.py      # Paiements
│   └── monitoring.py    # Monitoring
├── utils/               # Utilitaires
├── scripts/             # Scripts d'automatisation
├── docs/                # Documentation
├── examples/            # Exemples d'utilisation
├── static/              # Fichiers statiques
├── data/                # Données persistantes
├── backups/             # Sauvegardes
└── logs/                # Logs applicatifs

Les autres modules (Scraping Engine, Data Enrichment, CRM Module, Workflow Engine) ont leurs propres structures de projet indépendantes et communiquent avec le Core via des API REST sécurisées.

Pipeline de données

Le pipeline de traitement des leads :

Capacités

  • Sourcing : Scraping intelligent multi-sources
  • Validation : Vérification automatique des données
  • Qualification : Scoring par IA
  • Enrichissement : Données complémentaires
  • Export : Intégration CRM native

Monitoring technique

Le système de monitoring intégré :

Métriques clés

  • Performance API : Temps de réponse et disponibilité
  • Pipeline : Taux de qualification et conversion
  • Ressources : Utilisation CPU, mémoire, disque
  • Scraping : Performance et taux de succès

Alertes

  • Seuils configurables par métrique
  • Notifications multi-canaux
  • Historique des incidents
  • Rapports automatiques

Sécurité

L’architecture de sécurité :

Mécanismes

  • Authentification : JWT avec rotation des clés
  • Rate Limiting : Protection contre les abus
  • CORS : Sécurité des requêtes cross-origin
  • Monitoring : Détection des anomalies

Tests et qualité

Le système de tests :

Types de tests

  • Tests Unitaires : PyTest pour la logique métier
  • Tests d’Intégration : Validation des workflows
  • Tests E2E : Scénarios utilisateur complets
  • Tests de Performance : Benchmarks de charge

Documentation api

La documentation technique :

Ressources

  • Swagger UI : /docs pour la documentation interactive
  • ReDoc : /redoc pour la documentation statique
  • Postman : Collection d’exemples
  • Guides : Tutoriels d’intégration