Coalition loyalty platform prototype

Carpenters Rewards Coalition Platform

A secure, multi-merchant administration platform for managing participating brands, branches, and customer loyalty accounts across the Carpenters Fiji coalition.

What it does

Built for practical coalition administration.

The platform focuses on the confirmed prototype scope: authentication, authorization, tenant isolation, merchant setup, branch setup, and customer account management.

Merchant management
Create and administer participating merchant brands with tenant-aware access from the start.
Branch operations
Organize stores and service locations under the right merchant context without trusting client-supplied tenant ids.
Customer loyalty accounts
Maintain customer profiles and account status while leaving points, rewards, and campaigns for confirmed requirements.
Permission-led access
Navigation and backend access are driven by permissions, so roles group capabilities without becoming the source of truth.

Why it works

A focused foundation, not a speculative loyalty suite.

The prototype validates the architecture before adding commercial rules. That keeps the system maintainable and protects the team from building points, rewards, or campaign behavior before the business has approved it.

Clean Architecture backend boundaries

Multi-merchant tenant isolation

Cookie authentication and policy authorization

Admin portal flows for prototype validation

Health checks, logging, SQL Server, and Redis-ready infrastructure

Extension points for future loyalty modules

Security by default
Authentication, permission policies, tenant context, and backend authorization are treated as core platform features.
Never trust MerchantId from the client
Merchant-owned data is scoped through the active tenant context.
Policies over role names
Roles group permissions, but access decisions stay permission based.
Operational visibility
Logging and health checks are part of the prototype baseline.
Customer-ready paths
Customer account areas are prepared without implementing unconfirmed loyalty mechanics.