Skip to content

✨ White-Label Product Capability - Enable Multi-Tenant SSW.Rewards #1483

@zacharykeeping

Description

@zacharykeeping

Hi Team,

Pain

SSW.Rewards is currently hardcoded for SSW-specific branding, domains, and business logic. This prevents us from selling the platform as a white-label solution to other businesses who want their own branded rewards/gamification system.

Current blockers:

  • 100+ hardcoded "SSW" references throughout the codebase
  • Email domain checks tied to ssw.com.au
  • Brand colors (#cc4141) hardcoded in 30+ locations
  • Company-specific images and assets
  • Identity Server and API URLs hardcoded
  • Firebase configurations per tenant required

Suggested Solution

Implement a comprehensive tenant configuration system that allows SSW.Rewards to be deployed for multiple clients with different branding, business rules, and external service configurations.

Architecture:

  • Create TenantSettings configuration class
  • Implement ITenantService for runtime tenant access
  • Build-time asset selection per tenant
  • Per-tenant deployments with isolated infrastructure
  • Multi-tenant database with tenant isolation

Tasks

Phase 1: Foundation

Phase 2: Branding & Identity

Phase 3: Assets & Resources

Phase 4: Infrastructure

Phase 5: Database & Multi-Tenancy

Phase 6: Testing & Documentation

Acceptance Criteria

  • Meets Definition of Done - https://github.com/SSWConsulting/SSW.Rewards.Mobile/blob/main/_docs/Definition-of-Done.md
  • A new tenant can be onboarded easily
  • All SSW-specific branding can be replaced via configuration
  • Tenant data is completely isolated in database
  • Deployments are automated per tenant
  • Existing SSW deployment continues to work (backward compatible)
  • Documentation supports self-service tenant setup
  • Test tenant successfully deployed and verified

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions