Back to Case Studies
enterpriseePlanet

ePlanet: Multi-Tenant Enterprise CMS for Global Fintech Brands

A fintech company running dozens of international brands was maintaining separate codebases for each website. We built a single multi-tenant platform with domain-aware routing, a visual page builder with 100+ templates, two-level access control, and full RTL internationalization.

Enterprise PlatformMulti-Tenant ArchitectureMulti-LanguagePage Builder

The Challenge

ePlanet operates multiple international fintech brands across different markets, each with its own domain, language requirements, regulatory compliance needs, and content teams. The company had accumulated separate website codebases for each brand, and the maintenance burden was unsustainable.

Every design update, security patch, or new feature had to be replicated across every codebase. Content teams for each brand needed independent access without being able to affect other brands. Some markets required right-to-left language support with proper Arabic and Persian typography. Others needed financial calculator tools, trading tournament pages with live leaderboards, and market data displays.

Off-the-shelf CMS platforms could not handle the combination of domain-aware multi-tenancy, granular per-website role-based access, financial-services-specific page templates, and bidirectional internationalization. They needed a purpose-built enterprise platform.

Our Solution

We architected and built a complete enterprise CMS platform from the ground up.

Multi-Tenant Architecture

A single Next.js 15 deployment serves every website. Custom middleware intercepts each request, resolves the domain to the correct website entity, determines the active language from the URL path, applies any configured redirect rules, and injects locale and domain headers that all downstream pages consume. Adding a new brand website is a configuration change, not a deployment.

Visual Page Builder with 100+ Templates

Content editors build pages by dragging and dropping from a library of over 100 pre-built section templates. The builder uses @dnd-kit for drag reordering, with each section individually configurable through auto-generated forms. Templates include 12 hero variants, financial-specific sections (market overviews, stock displays, pricing tables, trading platform comparisons, pip calculators), campaign landing pages, tournament sections with leaderboard integration, and standard content patterns (FAQs, team grids, testimonials, step flows, comparison tables). A desktop/mobile preview mode lets editors see both viewport sizes before publishing. Power users can switch to direct JSON editing per section via an embedded CodeMirror editor.

Two-Level Role-Based Access Control

The platform implements a two-tier permission system. Global roles (Super Admin, Admin, Client) control platform-wide access. Per-website roles (Manager, Editor) scope content permissions to specific brands. A Super Admin can manage all websites and users. A Client user sees only their assigned brands. An Editor for one brand cannot view or modify content belonging to another. User assignment and role management are handled through dedicated admin interfaces.

Bidirectional Internationalization

Each website supports an unlimited number of languages, each with its own content configuration for headers, footers, navigation, and every list page type. RTL is automatically detected for Arabic, Farsi, Urdu, Hebrew, and Kurdish. When an RTL language is active, the entire layout flips, and the font switches from Montserrat to Dana (a custom Persian typeface loaded locally for performance). All content, including page builder sections, is per-language. Editors manage translations side by side.

Enterprise File Manager

A MinIO-backed (S3-compatible) file management system is embedded directly into the editing workflow. It supports a full folder hierarchy with create, rename, move, copy, and delete operations. Files are categorized by type (image, video, audio, document, archive) with drag-and-drop upload, inline preview, and context menus. The file manager integrates into the page builder through a selection dialog, so editors never leave the CMS to manage assets.

Auto-Generated Type-Safe API Client

The entire frontend API layer is auto-generated from the backend's OpenAPI specification using Orval. Every endpoint gets typed TanStack Query hooks with proper request/response types, query key management, and cache invalidation. When the backend team adds or modifies an endpoint, the frontend team runs a single command to regenerate the client. This eliminates API drift and catches contract changes at build time rather than in production.

Per-Domain SEO and Infrastructure

Each website gets its own dynamically generated XML sitemap, configurable robots.txt, and middleware-level redirect rules (301/302 with external URL support and infinite loop protection). Head and body script injection is managed per-website and per-language, allowing each brand to run its own analytics, tracking pixels, and compliance scripts. All of this is configurable from the admin panel without code changes.

Tournament and Leaderboard System

For the trading competition features, we built a tournament management system with registration windows, active periods, and external API synchronization to pull live rankings from the trading platform. Each tournament gets its own CMS page with configurable sections. Leaderboards are paginated and update in near-real-time.

Results & Impact

15+

Websites on one platform

< 10min

Page build time

12+

Languages supported

100+

Section templates

Want Results Like These?

Every project starts with understanding your unique challenges. Let's talk about yours.

Cookie preferences

We use an identity cookie to personalise your experience across sessions. Basic anonymous analytics run regardless and contain no personal information.