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.
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.



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.


