Architecture

Rubrion Store is a Turborepo monorepo built on Medusa + Mercur.

Project structure

├── apps/
│   ├── admin/          # Admin dashboard extensions
│   ├── vendor/         # Vendor portal extensions
│   └── storefront/     # Next.js B2C storefront + Sanity Studio
├── packages/
│   └── api/            # Medusa backend
│       ├── src/
│       │   ├── api/         # Custom API routes
│       │   ├── jobs/        # Background jobs
│       │   ├── links/       # Module links
│       │   ├── modules/     # Custom modules
│       │   ├── scripts/     # CLI scripts
│       │   ├── subscribers/ # Event subscribers
│       │   └── workflows/   # Business workflows
│       └── medusa-config.ts
├── blocks.json         # Mercur blocks configuration
└── turbo.json

Services

ServiceTechPort
Medusa backendNode.js (packages/api)9000
Admin dashboardReact + Vite (apps/admin)7000
Vendor portalReact + Vite (apps/vendor)7001
B2C StorefrontNext.js (apps/storefront)3000

Extending with Mercur Blocks

Add pre-built marketplace features using the Mercur CLI:

bunx @mercurjs/cli add block-name

Configure block sources in blocks.json:

{
  "aliases": {
    "workflows": "packages/api/src/workflows",
    "links": "packages/api/src/links",
    "api": "packages/api/src/api",
    "modules": "packages/api/src/modules"
  },
  "registries": {}
}