Backend
Backend overview
The backend is a robust, modular system built on top of MedusaJS that serves as the core engine of the platform. It’s designed to handle complex business logic, data management, and API integrations while providing a secure and scalable foundation for the entire application.
Check Mercur main repository: Github
API
The backend exposes three main APIs:
- Admin API: Provides administrative capabilities and system management.
- Vendor API: Built to resemble Admin API, this interface enables sellers to manage their own resources including orders, products, customer groups, promotions, and other marketplace-specific features. Each seller has access only to their own data and operations.
- Store API: Handles customer-facing operations and e-commerce functionality.
Actors
MercurJS recognizes three types of actors:
- User: this actor has all administrative privileges, and is the only actor type who can use the administration panel.
- Seller has access to the vendor panel. Each
seller
account is assigned to only one store it can manage. - Customer is a regular marketplace user.
Using authentication middleware provided by Medusa, each API is protected from being used by incorrect actor.
Admin Panel Overview
The admin panel is built on top of Medusa’s admin framework, providing a powerful and extensible interface for managing your marketplace.
Custom Features
Commission System
Our platform includes a sophisticated commission management system that allows for flexible commission structures:
Marketplace commission settings
- Multiple Rule Types:
- Seller-specific rules
- Product category-based rules
- Product type-based rules
- Site-wide default rules
- Calculation Methods:
- Percentage-based commissions
- Flat-rate commissions
- Tax-inclusive/exclusive options
- Minimum and maximum commission limits
You can find more information here: Commission
Marketplace Configuration
The marketplace configuration section allows administrators to manage global marketplace settings and rules:
Configuration Rules
- Global Product Catalog: Enable/disable global product catalog visibility
- Product Request System: Toggle the product request submission system
- Product Approval Requirements: Enable/disable mandatory product approval
- Product Import: Control product import functionality
You can find more information here: Marketplace Settings
Requests Panel
The requests panel is a communication interface between sellers and marketplace administrator. They can request certain actions to be performed:
- New Seller Applications: Review a new seller account.
- New Product Submissions: Review a new product listings.
- Product Collection Request: Review a new product collection.
- Product Category Request: Review a new product category.
- Review Remove Request: Review a submission to remove unfair review.
- Product Type Request: Review a new product type.
- Product Tag Request: Review a new product tag.
Requests are submitted by sellers to the marketplace administrator for review. Once the administrator makes a decision, the action is automatically executed by the Mercur backend.
You can find more information on requests here: Requests
Sellers Panel
The sellers panel provides tools for managing marketplace vendors:
- Seller Profiles: View and manage seller information
- Store Suspension: Activate or suspend seller accounts
- Product Management: Oversee seller product listings
- Order Management: List seller orders
- Customer groups Management: List seller customer groups