Skip to content

feat: resolve merchant onboarding KYC, navigation modularization, billing strategy, and context state management - #1048

Open
linesofcodes0-cloud wants to merge 2 commits into
Smartdevs17:mainfrom
linesofcodes0-cloud:feat/resolve-issues-966-967-969-970
Open

feat: resolve merchant onboarding KYC, navigation modularization, billing strategy, and context state management#1048
linesofcodes0-cloud wants to merge 2 commits into
Smartdevs17:mainfrom
linesofcodes0-cloud:feat/resolve-issues-966-967-969-970

Conversation

@linesofcodes0-cloud

Copy link
Copy Markdown

Description

This Pull Request resolves four open platform issues by implementing subscription merchant onboarding with KYC verification, restructuring the mobile navigation to feature-based modular architecture, implementing the Strategy Pattern for the subscription billing engine, and refactoring mobile state management to a high-performance Context + Hooks pattern.

Key Changes Implemented

  1. Merchant Onboarding with KYC Integration (Fixes Implement subscription merchant onboarding with KYC integration #966)

    • Created backend/services/shared/kycService.ts to manage KYC verification requests, document validation, and verification tier assignment (BASIC vs ENHANCED).
    • Added unit test suite backend/services/shared/__tests__/kycService.test.ts.
    • Updated MerchantOnboardingScreen.tsx with validation, document upload triggers, notification badge, and analytics tracking.
    • Added screen component tests in src/screens/__tests__/MerchantOnboardingScreen.test.tsx.
  2. Feature-Based Modular Navigation Architecture (Fixes Restructure mobile app navigation to feature-based modular architecture #967)

    • Refactored AppNavigator.tsx to integrate feature stack modules (SubscriptionStack, AnalyticsStack, SettingsStack, AdminStack, WalletStack, DeveloperStack, SocialStack) exported from src/navigation/modules/.
    • Preserved lazy loading (lazyScreen), prefetching, and theme configuration.
    • Added navigation unit tests in src/navigation/__tests__/AppNavigator.test.tsx.
  3. Billing Engine Strategy Pattern (Fixes Refactor subscription billing engine to strategy pattern #969)

    • Refactored BillingEngine to use pluggable pricing strategies (FlatRate, Tiered, UsageBased, PerSeat, Fallback) via StrategyRegistry and PricingStrategyFactory.
    • Added pricing analytics aggregation, A/B test variant generation, and runtime strategy overrides.
    • Added comprehensive tests in backend/services/billing/__tests__/billingEngine.test.ts.
  4. Context + Hooks State Management Refactor (Fixes Refactor mobile app state management to context + hooks pattern #970)

    • Optimized SubscriptionProvider with memoized context value and slice selectors (useCallback/useMemo) to prevent unnecessary re-renders.
    • Provided type-safe custom hooks (useSubscriptionSummary, useSubscriptionManager, useSubscriptionsByCategory, useSubscriptionsByBillingCycle, useSubscriptionSearch) in src/hooks/useSubscriptionContext.ts.
    • Added test suite in src/context/__tests__/SubscriptionContext.test.tsx.

Fixes #966
Fixes #967
Fixes #969
Fixes #970

KnightsDev added 2 commits August 26, 2026 23:50
…ing, OpenAPI 3.1 SDK generation, and auth strategies

- Refactor smart contract into modular library submodules delegating to SubTrackrSubscription (Issue Smartdevs17#971)
- Enhance error handling with domain error types, status codes, user messages, and recovery hints (Issue Smartdevs17#972)
- Update OpenAPI 3.1 specification and automated SDK endpoint generator script (Issue Smartdevs17#973)
- Expand modular authentication middleware with strategy ordering and route level authorization (Issue Smartdevs17#974)
@drips-wave

drips-wave Bot commented Aug 27, 2026

Copy link
Copy Markdown

@linesofcodes0-cloud Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant