Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · Strangler Fig Migration (TypeScript, NestJS, Express, PostgreSQL, Redis, Docker)
stack-profile:strangler-fig-migrationa5c.ai
Search record views/
Record · tabs

Available views

II.Record viewspp. 1 - 1
overviewjsongraph
II.
StackProfile JSON

stack-profile:strangler-fig-migration

Structured · live

Strangler Fig Migration (TypeScript, NestJS, Express, PostgreSQL, Redis, Docker) json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · domain/stack-profiles/deep-stacks-7.yamlCluster · domain
Record JSON
{
  "id": "stack-profile:strangler-fig-migration",
  "_kind": "StackProfile",
  "_file": "domain/stack-profiles/deep-stacks-7.yaml",
  "_cluster": "domain",
  "attributes": {
    "displayName": "Strangler Fig Migration (TypeScript, NestJS, Express, PostgreSQL, Redis, Docker)",
    "description": "A migration architecture implementing the Strangler Fig pattern to\nincrementally replace a legacy monolith with modern TypeScript services.\nAn Express reverse proxy intercepts all traffic, routing requests to\neither the legacy system or new NestJS microservices based on feature\nflags and path matching. Redis caches routing decisions and shared\nsession state between old and new systems. PostgreSQL serves both\nthe legacy schema and new service schemas, with CDC (change data\ncapture) keeping them synchronized during the transition. Docker\nCompose orchestrates the complete hybrid environment locally. The\ntradeoff is maintaining two systems simultaneously with careful\ndata consistency management, but the pattern eliminates big-bang\nmigration risk.\n",
    "composes": [
      "language:typescript",
      "framework:nestjs",
      "library:express",
      "library:ioredis",
      "library:prisma",
      "library:bullmq",
      "tool:docker",
      "tool:docker-compose",
      "language:sql"
    ]
  },
  "outgoingEdges": [
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "language:typescript",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "framework:nestjs",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "library:express",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "library:ioredis",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "library:prisma",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "library:bullmq",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "tool:docker",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "tool:docker-compose",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "language:sql",
      "kind": "composed_of"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "role:architect",
      "kind": "used_by_role"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "role:backend-engineer",
      "kind": "used_by_role"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "role:tech-lead",
      "kind": "used_by_role"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "workflow:strangler-fig-migration",
      "kind": "follows_workflow"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "workflow:legacy-migration-sprint",
      "kind": "follows_workflow"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "domain:software-engineering",
      "kind": "applies_to"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "domain:backend",
      "kind": "applies_to"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "skill-area:strangler-fig-pattern",
      "kind": "requires_skill_area"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "skill-area:parallel-run-migration",
      "kind": "requires_skill_area"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "skill-area:schema-evolution",
      "kind": "requires_skill_area"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "skill-area:middleware-design",
      "kind": "requires_skill_area"
    },
    {
      "from": "stack-profile:strangler-fig-migration",
      "to": "skill-area:database-migrations-zero-downtime",
      "kind": "requires_skill_area"
    }
  ],
  "incomingEdges": []
}

Shortcuts

Back to overview
Open graph tab