Skip to content

아키텍처

Hereby는 pnpm 워크스페이스로 구성된 모노레포로, 모듈형 패키지와 프로덕션 애플리케이션으로 구성되어 있습니다.

시스템 다이어그램

패키지

패키지설명
@hereby/databaseTypeORM 엔티티(50개), 마이그레이션(44개), 시드(11개)
@hereby/apiFastify 5 + tRPC 11 서버, 32개 라우터
@hereby/core공유 타입, 27개 Zod 스키마, Pino 로거, 유틸리티
@hereby/sdkTypeScript SDK, 30개 서비스 클래스 (ESM/CJS/브라우저)
@hereby/cliCommander.js CLI 도구 (hereby 커맨드)
@hereby/componentsAlpine.js 컴포넌트 라이브러리 (AuthGate, LoginForm, RegisterForm)
@hereby/testVitest 통합 테스트 스위트

애플리케이션

포트설명
HR 시스템4000HR 관리자용 급여 관리 대시보드
관리자 패널4001직원, 팀, 역할 관리
직원 앱4002모바일/웹 앱 (Capacitor iOS + Android)
간호 스케줄러4003간호사 근무표 관리 및 충돌 감지
내부 결재4004휴가, 연장근무, 인센티브 승인 워크플로우
총무 관리4005법정교육, 정기업무, 공지 관리
모듈 관리자4010모듈 레지스트리 및 계산기 설정
임포터CLIExcel 데이터 임포터 (47개 시트)

핵심 설계 원칙

멀티테넌시

모든 쿼리에 organizationId 필터링이 포함됩니다. 각 엔티티는 조직에 소속됩니다.

소프트 삭제

모든 엔티티는 deletedAt 타임스탬프를 사용합니다. 하드 삭제는 사용하지 않습니다.

감사 추적

모든 엔티티는 createdAt, updatedAt, deletedAt 필드를 가진 BaseEntity를 상속합니다.

타입 안전성

tRPC를 통해 데이터베이스 엔티티에서 API, 프론트엔드 SDK 호출까지 엔드투엔드 타입 안전성을 제공합니다.

권한 모델

리소스 기반 권한과 팀 수준 접근 제어를 갖춘 역할 기반 접근 제어(RBAC)를 사용합니다.

데이터 흐름