Open Mercato

Open Mercato is a new-era, AI-supportive platform for shipping enterprise-grade CRMs, ERPs, and commerce backends. It is modular, extensible, and designed so teams can mix their own modules, entities, and workflows while keeping the guardrails of a production-ready stack.

License: MIT

Videos

Guided walkthroughs and architecture deep dives from the Open Mercato team.

Core use cases

  • CRM – model customers, opportunities, and bespoke workflows with flexible data definitions.
  • ERP – manage orders, production, and service delivery while tailoring modules to match operations.
  • Commerce – launch CPQ flows, B2B ordering portals, or full commerce backends with reusable modules.
  • Self-service system – spin up customer or partner portals with configurable forms and permissions.
  • Workflows – orchestrate custom data lifecycles and document workflows per tenant or team.
  • Production – coordinate production management with modular entities, automation hooks, and reporting.
  • Headless/API platform – expose rich, well-typed APIs for mobile and web apps.

Highlights

  • Modular architecture with auto-discovery and overlay overrides for modules, pages, APIs, and entities.
  • Custom entities and dynamic forms with declared fields, validators, and UI widgets.
  • Multi-tenant by default with strict organization/tenant scoping.
  • Multi-hierarchical organizations with role- and user-level visibility controls.
  • Feature-based RBAC with org scoping across pages and APIs.
  • Data indexing and caching using hybrid JSONB indexing.
  • Event subscribers and workflows with local or Redis-backed subscribers.
  • Growing test coverage for modules as the platform expands.
  • AI-supportive foundation for assistive workflows and automation.
  • Modern stack: Next.js App Router, TypeScript, zod, Awilix, MikroORM, bcryptjs.

Screenshots

Real UI from the Open Mercato stack: CRM, ERP, and commerce in one modular system.

Order shipments timeline
Order Shipments
Sales channel offers listing
Channel Offers
Catalog products list
Catalog Products

Architecture overview

How Open Mercato keeps every module independent but composable.

Modules

Each feature lives under src/modules/<module> with auto-discovered frontend and backend pages, APIs, CLI, i18n, and DB entities.

Database

MikroORM with per-module entities and migrations. No global schema. Migrations are generated and applied per module.

Dependency injection

Awilix container constructed per request. Modules can register and override services/components via di.ts.

Multi-tenant

Core directory module defines tenants and organizations. Most entities carry tenant_id andorganization_id.

Security

RBAC roles, zod validation, bcryptjs hashing, JWT sessions, role-based access in routes and APIs.

Comming soon

We are preparing public docs, onboarding guides, and a full demo instance. Follow the GitHub org to track milestones and early access drops.

Get updates

Everything ships in the open. Watch the repository to follow progress.

Follow on GitHub