Overseas SaaS Membership System
An independently delivered overseas SaaS membership system consisting of a brand website, operations admin console, and client-embedded membership center — forming a complete product loop from user acquisition to subscription fulfillment.
Background
As the product expanded into overseas markets, a unified membership service system was needed to support user growth and monetization. The core requirement was: acquire users via the brand website, manage members via the admin console, and serve users through the client-embedded membership center — all three sharing the same account, subscription, and permission model.
Technical Challenges
- account_treeMulti-Platform ArchitectureDifferent tech stacks across website, admin, and embedded module, yet needing to share unified user model, subscription state, and permission system.
- paymentsSubscription Payment LoopImplementing subscription creation, auto-renewal, plan changes, refunds, and Webhook-driven state sync across Stripe and PayPal dual payment channels.
- integration_instructionsClient Embedding ConstraintsThe membership center is embedded as a web module in the desktop client, requiring host communication, auth passthrough, and UI adaptation in a constrained container.
Core Solutions
Engineered for Excellence
Next.js Brand Website
Built with Next.js using SSR/SSG hybrid rendering for multi-language SEO and fast initial load, serving as the product showcase, pricing, and subscription entry point.
React + NestJS Admin Console
Frontend built with React for member management, order queries, and data dashboards; backend uses NestJS + Prisma for RESTful APIs managing users, subscriptions, payments, and RBAC.
React Embedded Membership Center
Built with React as a lightweight web module embedded in the desktop client. Uses PostMessage for auth token passing and event communication, handling plan details, usage stats, and renewal within a constrained viewport.
Architecture
NestJS + Prisma forms the unified business layer, providing consistent user, subscription, and permission APIs to all three modules. Stripe and PayPal handle payment lifecycle, Redis handles session cache and rate limiting.
Gallery
Interested in this project?
If you'd like to learn more about the technical details or have a similar project, feel free to reach out via email.