stack-profile:hexagonal-architecture-stack
Hexagonal Architecture — Ports & Adapters (TypeScript, NestJS, Prisma, PostgreSQL, Docker, Vitest) overview
A TypeScript application structured around hexagonal architecture (ports and adapters), where the domain core is isolated from all infrastructure concerns through explicit port interfaces. NestJS modules map cleanly to bounded contexts, with Prisma serving as the persistence adapter and Express as the HTTP adapter. Vitest runs fast unit tests against the domain core without any infrastructure, while integration tests wire up real adapters. Docker Compose orchestrates the full stack for local development. The tradeoff is significant upfront boilerplate defining port interfaces and adapter mappings, but the architecture pays dividends in testability, swappable infrastructure, and long-term maintainability of complex domain logic.
Attributes
Outgoing edges
- domain:software-engineering·DomainSoftware Engineering
- domain:backend·DomainBackend
- language:typescript·LanguageTypeScript
- framework:nestjs·FrameworkNestJS
- library:prisma·LibraryPrisma
- library:express·LibraryExpress
- tool:vitest·ToolVitest
- tool:docker·ToolDocker
- tool:docker-compose·ToolDocker Compose
- language:sql·LanguageSQL
- workflow:architecture-decision·WorkflowArchitecture Decision
- workflow:feature-development·Workflow
- skill-area:hexagonal-architecture·SkillAreaHexagonal Architecture
- skill-area:domain-driven-design·SkillAreaDomain-Driven Design
- skill-area:backend-api-design·SkillAreaBackend API Design
- skill-area:unit-testing·SkillAreaUnit Testing
- skill-area:integration-testing·SkillAreaIntegration Testing
- role:backend-engineer·RoleBackend Engineer
- role:architect·RoleArchitect
- role:tech-lead·RoleTech Lead