feat: module-driven onboarding system + simplified 3-step signup
Add OnboardingProviderProtocol so modules declare their own post-signup onboarding steps. The core OnboardingAggregator discovers enabled providers and exposes a dashboard API (GET /dashboard/onboarding). A session-scoped banner on the store dashboard shows a checklist that guides merchants through setup without blocking signup. Signup is simplified from 4 steps to 3 (Plan → Account → Payment): store creation is merged into account creation, store language is captured from the user's browsing language, and platform-specific template branching is removed. Includes 47 unit and integration tests covering all new providers, the aggregator, the API endpoint, and the signup service changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -63,6 +63,11 @@ from app.modules.contracts.metrics import (
|
||||
MetricsProviderProtocol,
|
||||
MetricValue,
|
||||
)
|
||||
from app.modules.contracts.onboarding import (
|
||||
OnboardingProviderProtocol,
|
||||
OnboardingStepDefinition,
|
||||
OnboardingStepStatus,
|
||||
)
|
||||
from app.modules.contracts.widgets import (
|
||||
BreakdownWidget,
|
||||
DashboardWidget,
|
||||
@@ -92,6 +97,10 @@ __all__ = [
|
||||
"MetricValue",
|
||||
"MetricsContext",
|
||||
"MetricsProviderProtocol",
|
||||
# Onboarding protocols
|
||||
"OnboardingStepDefinition",
|
||||
"OnboardingStepStatus",
|
||||
"OnboardingProviderProtocol",
|
||||
# Widget protocols
|
||||
"WidgetContext",
|
||||
"WidgetListItem",
|
||||
|
||||
Reference in New Issue
Block a user