The Magic e-VERSE e-commerce platform is built on Medusa 2.0 and consists of 11 tenants sharing a single codebase. Each tenant has its own Docker containers, database, branding, and sales channel.
Component Technology Version Backend Medusa 2.0 2.13.1 Storefront Next.js 15 Frontend Framework React 19 RC Styling Tailwind CSS 3.0 Database PostgreSQL 16 Cache Redis 7 Runtime Node.js 22 (Alpine)
Each tenant runs as 3 Docker containers:
┌─────────────────────────────────────┐
│ ┌──────────┐ ┌────────────────┐ │
│ │ Redis │ │ Backend │ │
│ │ :63XX │◄─│ :40XX (API) │ │
│ └──────────┘ │ :70XX (PIM) │ │
│ Network: magic_{tenant}_network │
└──────────────┬──────────────────────┘
┌──────────▼──────────────────┐
│ DB: magic_b2b_{tenant} │
└─────────────────────────────┘
Slot Tenant Backend Storefront Redis Database 10 Development 4010 10010 6310 magic_b2b_development 20 Demo 4020 10020 6320 magic_b2b_demo 30 Default 4030 10030 6330 magic_b2b_default 40 Brinxx 4040 10040 6340 magic_b2b_brinxx 50 Bovisales 4050 10050 6350 magic_b2b_bovisales 59 Master Magic 4059 — 6390 master_magic 60 De Sluis 4060 10060 6360 magic_b2b_desluis 70 Jodasign 4070 10070 6370 magic_b2b_jodasign 80 Logohorloge 4080 10080 6381 magic_b2b_logohorloge 90 Spranz 4091 10090 6391 magic_b2b_spranz
Tenant Admin URL Storefront URL Notes Development admin-development.magiceverse.online — Master codebase Demo admin-demo.magiceverse.online demo.magiceverse.online Default admin-default.magiceverse.online default.magiceverse.online Brinxx admin-brinxx.magiceverse.online brinxx.magiceverse.online Bovisales admin-bovisales.magiceverse.online bovisales.magiceverse.online Master Magic admin-master.magiceverse.online — Master/template tenant De Sluis admin-desluis.magiceverse.online desluis.magiceverse.online Jodasign admin-jodasign.magiceverse.online jodasign.magiceverse.online Logohorloge admin-logohorloge.magiceverse.online logohorloge.magiceverse.online Spranz admin-spranz.magiceverse.online spranz.magiceverse.online Spranz branded (backend only)
Tip
Ports follow a slot-based system : each tenant occupies a 10-port block. Backend = 40XX, Storefront = 100XX, Redis = 63XX, API = 70XX.
/mnt/data/magic_omniverse/magic_commerce/
├── magic_development/ ← MASTER (all code starts here)
│ ├── backend/ ← Medusa backend source
│ ├── storefront/ ← Next.js storefront source
│ ├── admin/aplt/ # 80+ admin API endpoints
│ ├── store/ # Public storefront API
│ ├── products/ # Product image serving
│ └── middlewares.ts # Custom middleware
├── admin/routes/ # 25+ admin UI pages
├── modules/connectors/ # Supplier data connectors
├── jobs/ # Scheduled jobs
└── workflows/ # Medusa workflows
├── app/ # Next.js App Router
│ └── [countryCode]/ # Multi-country routing
│ ├── brands/ # Multi-tenant branding
│ ├── context/ # React contexts
│ ├── data/ # Server-side data fetching
│ └── i18n/ # Internationalization (nl/de/fr/en)
├── modules/ # Feature modules
│ ├── access/ # Gatekeeper
│ ├── products/ # Magic Logo Configurator
│ ├── checkout/ # Multi-step checkout
│ └── store/ # Product listing & filters
└── themes/ # Per-brand theming