Skip to content
Apeiriion.

Case study · 2025

Web & Enterprise Applications

Enterprise workflows on NestJS, Nuxt & GraphQL

NestJSNuxt.jsGraphQLMicroservicesNode.js
Meridian ERP Portal

Client

Diversifying enterprise group

Engagement

Modular ERP portal

Duration

13 months

Year

2025

Overview

What we set out to solve

Meridian ERP carved a legacy monolith into NestJS bounded contexts behind a Nuxt portal with GraphQL federation. Business units gained independent deploy ownership without losing a coherent UX. Migration was module-by-module — no freeze-the-world rewrite.

A modular ERP portal with NestJS microservices, Nuxt.js UI, and GraphQL federation for complex business domains.

Narrative

How the engagement moved from constraints to a shippable system.

01

Challenge

Legacy monoliths blocked new business units; teams needed domain isolation without losing a coherent UX.

02

Approach

We carved bounded contexts into NestJS services, exposed GraphQL for the Nuxt portal, and migrated module-by-module.

03

Solution

Meridian ERP is a cohesive portal over independently deployable services with clear ownership.

Scope

What we delivered

NestJS microservices for priority domains

Nuxt.js ERP portal with shared UX shell

GraphQL federation and schema governance

Module migration playbooks

Performance and auth baselines

Team ownership model for services

Highlights

What stood out

Independent deploys per domain team

Page TTFB improved by 35%

GraphQL contracts preventing schema drift

Coherent portal UX over many services

Engagement flow

A repeatable rhythm from discovery through hardening — tuned to this product’s constraints.

01

Domain mapping

Identified seams, ownership, and highest-friction UX modules.

02

Service extraction

Stood NestJS services and GraphQL edges for early domains.

03

Portal unification

Built Nuxt shell patterns so new modules feel native.

04

Migrate & measure

Cut over modules with performance and error budgets.

Technology stack

The delivery stack behind this engagement — client surfaces paired with services, data, and infrastructure.

Frontend

Nuxt.jsVueDesign SystemGraphQL Client

Backend

NestJSNode.jsGraphQL FederationMicroservices

Data & Ops

PostgreSQLRedisDockerCI/CD

Outcomes

01

Independent deploys per domain team

02

Page TTFB improved by 35%

03

GraphQL schema governance with contracts

Looking ahead

Continue strangler migration for remaining finance modules.

Onboard the Apeiriion express

Tell us about your product, platform, or modernization goal — we'll assemble a senior squad and a clear delivery plan.