Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · Modular Monolith (TypeScript, NestJS, Prisma, PostgreSQL, BullMQ, Docker)
stack-profile:modular-monolitha5c.ai
Search record views/
Record · tabs

Available views

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

stack-profile:modular-monolith

Reference · live

Modular Monolith (TypeScript, NestJS, Prisma, PostgreSQL, BullMQ, Docker) overview

A TypeScript monolith deliberately structured into independent modules with explicit boundaries, combining the deployment simplicity of a monolith with the organizational clarity of microservices. Each NestJS module owns its Prisma schema slice and communicates with others only through published events or well-defined service interfaces. BullMQ handles async work within module boundaries, and Redis backs both the job queue and cross-module event bus. PostgreSQL schemas enforce data ownership per module. Docker Compose runs the complete system locally. The tradeoff is the constant vigilance needed to prevent module boundaries from eroding, but when maintained, this pattern avoids distributed-system complexity while preserving the option to extract modules later.

StackProfileOutgoing · 22Incoming · 0

Attributes

displayName
Modular Monolith (TypeScript, NestJS, Prisma, PostgreSQL, BullMQ, Docker)
description
A TypeScript monolith deliberately structured into independent modules with explicit boundaries, combining the deployment simplicity of a monolith with the organizational clarity of microservices. Each NestJS module owns its Prisma schema slice and communicates with others only through published events or well-defined service interfaces. BullMQ handles async work within module boundaries, and Redis backs both the job queue and cross-module event bus. PostgreSQL schemas enforce data ownership per module. Docker Compose runs the complete system locally. The tradeoff is the constant vigilance needed to prevent module boundaries from eroding, but when maintained, this pattern avoids distributed-system complexity while preserving the option to extract modules later.
composes
  • language:typescript
  • framework:nestjs
  • library:prisma
  • library:bullmq
  • library:ioredis
  • library:express
  • tool:docker
  • tool:docker-compose
  • language:sql
  • tool:vitest

Outgoing edges

applies_to2
  • domain:software-engineering·DomainSoftware Engineering
  • domain:backend·DomainBackend
composed_of10
  • language:typescript·LanguageTypeScript
  • framework:nestjs·FrameworkNestJS
  • library:prisma·LibraryPrisma
  • library:bullmq·LibraryBullMQ
  • library:ioredis·Libraryioredis
  • library:express·LibraryExpress
  • tool:docker·ToolDocker
  • tool:docker-compose·ToolDocker Compose
  • language:sql·LanguageSQL
  • tool:vitest·ToolVitest
follows_workflow2
  • workflow:architecture-decision·WorkflowArchitecture Decision
  • workflow:monolith-extraction-planning·WorkflowMonolith Extraction Planning
requires_skill_area5
  • skill-area:monolith-vs-microservices·SkillAreaMonolith vs Microservices Tradeoffs
  • skill-area:domain-driven-design·SkillAreaDomain-Driven Design
  • skill-area:messaging-queuing·SkillAreaMessaging and Queuing
  • skill-area:backend-api-design·SkillAreaBackend API Design
  • skill-area:schema-evolution·SkillAreaSchema Evolution
used_by_role3
  • role:backend-engineer·RoleBackend Engineer
  • role:architect·RoleArchitect
  • role:tech-lead·RoleTech Lead

Incoming edges

None.

Related pages

No related wiki pages for this record.

Shortcuts

Open in graph
Browse node kind