feat(prospecting): add complete prospecting module for lead discovery and scoring
Some checks failed
Some checks failed
Migrates scanning pipeline from marketing-.lu-domains app into Orion module. Supports digital (domain scan) and offline (manual capture) lead channels with enrichment, scoring, campaign management, and interaction tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
37
app/modules/prospecting/__init__.py
Normal file
37
app/modules/prospecting/__init__.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# app/modules/prospecting/__init__.py
|
||||
"""
|
||||
Prospecting Module - Lead discovery, scoring, and campaign management.
|
||||
|
||||
This is a self-contained module providing:
|
||||
- Domain scanning and website analysis for Luxembourg businesses
|
||||
- Offline lead capture (street encounters, networking)
|
||||
- Opportunity scoring algorithm
|
||||
- Marketing campaign management tailored by lead type
|
||||
- Interaction tracking and follow-up reminders
|
||||
|
||||
Module Structure:
|
||||
- models/ - Database models (prospects, tech profiles, scores, campaigns, etc.)
|
||||
- services/ - Business logic (enrichment, scoring, lead filtering, campaigns)
|
||||
- schemas/ - Pydantic DTOs
|
||||
- routes/ - API and page routes (admin only)
|
||||
- tasks/ - Celery background tasks for batch scanning
|
||||
- exceptions.py - Module-specific exceptions
|
||||
"""
|
||||
|
||||
|
||||
def __getattr__(name: str):
|
||||
"""Lazy import module components to avoid circular imports."""
|
||||
if name == "prospecting_module":
|
||||
from app.modules.prospecting.definition import prospecting_module
|
||||
|
||||
return prospecting_module
|
||||
if name == "get_prospecting_module_with_routers":
|
||||
from app.modules.prospecting.definition import (
|
||||
get_prospecting_module_with_routers,
|
||||
)
|
||||
|
||||
return get_prospecting_module_with_routers
|
||||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||
|
||||
|
||||
__all__ = ["prospecting_module", "get_prospecting_module_with_routers"]
|
||||
Reference in New Issue
Block a user