Skip to content

E-Commerce Overview

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.

ComponentTechnologyVersion
BackendMedusa 2.02.13.1
StorefrontNext.js15
Frontend FrameworkReact19 RC
StylingTailwind CSS3.0
DatabasePostgreSQL16
CacheRedis7
RuntimeNode.js22 (Alpine)

Each tenant runs as 3 Docker containers:

┌─────────────────────────────────────┐
│ magic_{tenant} │
│ │
│ ┌──────────┐ ┌────────────────┐ │
│ │ Redis │ │ Backend │ │
│ │ :63XX │◄─│ :40XX (API) │ │
│ └──────────┘ │ :70XX (PIM) │ │
│ └───────┬────────┘ │
│ │ │
│ ┌───────▼────────┐ │
│ │ Storefront │ │
│ │ :100XX │ │
│ └────────────────┘ │
│ │
│ Network: magic_{tenant}_network │
└──────────────┬──────────────────────┘
┌──────────▼──────────────────┐
│ PostgreSQL (shared) │
│ DB: magic_b2b_{tenant} │
└─────────────────────────────┘
SlotTenantBackendStorefrontRedisDatabase
10Development4010100106310magic_b2b_development
20Demo4020100206320magic_b2b_demo
30Default4030100306330magic_b2b_default
40Brinxx4040100406340magic_b2b_brinxx
50Bovisales4050100506350magic_b2b_bovisales
59Master Magic40596390master_magic
60De Sluis4060100606360magic_b2b_desluis
70Jodasign4070100706370magic_b2b_jodasign
80Logohorloge4080100806381magic_b2b_logohorloge
90Spranz4091100906391magic_b2b_spranz
TenantAdmin URLStorefront URLNotes
Developmentadmin-development.magiceverse.onlineMaster codebase
Demoadmin-demo.magiceverse.onlinedemo.magiceverse.online
Defaultadmin-default.magiceverse.onlinedefault.magiceverse.online
Brinxxadmin-brinxx.magiceverse.onlinebrinxx.magiceverse.online
Bovisalesadmin-bovisales.magiceverse.onlinebovisales.magiceverse.online
Master Magicadmin-master.magiceverse.onlineMaster/template tenant
De Sluisadmin-desluis.magiceverse.onlinedesluis.magiceverse.online
Jodasignadmin-jodasign.magiceverse.onlinejodasign.magiceverse.online
Logohorlogeadmin-logohorloge.magiceverse.onlinelogohorloge.magiceverse.online
Spranzadmin-spranz.magiceverse.onlinespranz.magiceverse.onlineSpranz branded (backend only)
/mnt/data/magic_omniverse/magic_commerce/
├── magic_development/ ← MASTER (all code starts here)
│ ├── backend/ ← Medusa backend source
│ ├── storefront/ ← Next.js storefront source
│ └── docker-compose.yml
├── magic_brinxx/
├── magic_default/
├── magic_logohorloge/
├── magic_bovisales/
├── magic_demo/
├── magic_desluis/
├── magic_jodasign/
└── magic_spranz/
backend/src/
├── api/
│ ├── 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
storefront/src/
├── app/ # Next.js App Router
│ └── [countryCode]/ # Multi-country routing
├── lib/
│ ├── 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