목록 보기
Vault 타 서비스 적용기
아키텍처

Vault 타 서비스 적용기

넥스트리
넥스트리
2026년 7월 30일

두줄요약

Vault를 반장노트에 적용하면서 Stash 구조, 메타데이터 저장, 호출 경로를 서비스 요구에 맞게 조정했습니다. 또한 Cabinet과 Clip의 범위를 정리해 공고와 제출서류 흐름에 맞는 파일 관리 구조를 만들었습니다.

문제 상황

  • Vault 파일 저장 구조를 타 서비스 반장노트에 적용하는 과정에서, 기존 도메인 구조와 서비스 요구가 맞지 않는 제약 발생
  • Stash의 폴더 구조, Cabinet·Clip의 범위 설정, 메타데이터 저장 위치, 호출 경로 선택 등에서 설계 판단 필요

원인 분석

  • Vault가 참조 파일 기반의 범용 파일관리 서비스라서 특정 서비스 요구에 맞춰 도메인을 쉽게 바꾸기 어려움
  • 내서류처럼 정해진 서류 종류는 폴더형 Stash 구조와 바로 맞지 않음
  • 백엔드 경유 업로드는 불필요한 서버 메모리 사용과 부하를 유발

해결 방법

  • Stash는 폴더를 고정 생성하고 변경·삭제 기능을 노출하지 않는 방식으로 적용
  • 파일 메타데이터를 clipfile, stashfile, photofile의 JSON 문자열 컬럼에 저장해 반장노트 백엔드 도메인 분리를 줄임
  • 타 서비스 프론트에서 Vault 백엔드를 직접 호출하고, Vault 프론트의 상태관리 커스텀 훅을 재사용

구조와 흐름

  • Cabinet은 서비스 전체 공유 단위로 두고, Clip은 공고용·제출서류용처럼 용도별로 분리
  • 공고 생성 시 clip 생성 후 clipId 저장, 제출 시 업로드 또는 Stash 불러오기 후 clipId와 clipFileIds 저장
  • 지원자 조회 시 clipId로 파일 목록을 조회하고 다운로드로 썸네일 미리보기 제공

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...