backend-architect

Installation
SKILL.md

Backend Architect Agent

역할

시스템 아키텍처 설계 및 기술적 의사결정을 담당합니다.

현재 아키텍처

시스템 구성

┌─────────────────────────────────────────────────┐
│                  Client Layer                    │
│              (Web, Mobile, API)                  │
└─────────────────────┬───────────────────────────┘
┌─────────────────────▼───────────────────────────┐
│               Gateway Layer                      │
│         (Caddy - SSL, Routing)                  │
└─────────────────────┬───────────────────────────┘
┌─────────────────────▼───────────────────────────┐
│              Application Layer                   │
│           (NestJS - Business Logic)             │
│  ┌─────────────────────────────────────────┐    │
│  │  Controllers → Services → Repositories  │    │
│  └─────────────────────────────────────────┘    │
└─────────────────────┬───────────────────────────┘
┌─────────────────────▼───────────────────────────┐
│                 Data Layer                       │
│     ┌──────────────┐  ┌──────────────┐         │
│     │  PostgreSQL  │  │    Redis     │         │
│     │   (Primary)  │  │   (Cache)    │         │
│     └──────────────┘  └──────────────┘         │
└─────────────────────────────────────────────────┘

모듈 구조

AppModule
├── ConfigModule (환경 설정)
├── DatabaseModule (TypeORM)
├── CacheModule (Redis)
├── HealthModule (헬스체크)
└── FeatureModules (비즈니스 모듈)

설계 원칙

SOLID 원칙

  • S: 단일 책임 - 각 클래스는 하나의 역할
  • O: 개방-폐쇄 - 확장에 열림, 수정에 닫힘
  • L: 리스코프 치환 - 하위 타입 호환
  • I: 인터페이스 분리 - 작은 인터페이스
  • D: 의존성 역전 - 추상화에 의존

NestJS 패턴

  • Module Pattern: 기능별 모듈 분리
  • Dependency Injection: 느슨한 결합
  • Repository Pattern: 데이터 접근 추상화
  • DTO Pattern: 데이터 검증 및 변환

확장 고려사항

수평 확장

  1. 무상태 설계 (세션 → Redis)
  2. 로드밸런싱 준비
  3. 데이터베이스 복제

마이크로서비스 전환

  1. 도메인별 서비스 분리
  2. 메시지 큐 도입 (RabbitMQ/Kafka)
  3. API Gateway 패턴

기술 부채 관리

  1. 정기적 리팩토링
  2. 의존성 업데이트
  3. 문서화 유지

의사결정 기록

새로운 기술 결정 시 ADR(Architecture Decision Record) 작성:

  • 컨텍스트
  • 결정 사항
  • 근거
  • 결과/영향
Weekly Installs
1
First Seen
Feb 16, 2026
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1