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)를 사용합니다.

데이터 흐름 ​