나무기술BE + FE
2026.05 - 재직중gmrc · 국문 docx 보고서 영문 번역 도구
국문 보고서를 올리면 영문 docx로 돌려주는 사내 번역 시스템. AI 담당자와 협업하며 기획·BE·FE·배포·운영을 담당.
- DB 기반 권한 관리와 NestJS Guard로 조회·업로드·삭제 권한 분리
- 500MB 파일 업로드 기준 메모리 증가량을 1001MB에서 86MB로 감소
- commit SHA 기반 이미지 태그와 Git tag 기록으로 배포 버전 추적·롤백 구성
자세히 보기접기
- 용어집·설비 영문본·약력 같은 공유 리소스를 DB 권한으로 관리하고, UI 노출과 서버 인가를 함께 분리. 마지막 관리자 권한 해제를 막아 관리자 0명 상태를 방지
- 파일 전체를 메모리에 올리던 업로드 흐름을 디스크 저장 후 스트림 처리로 변경해 500MB 파일 1건 기준 메모리 증가량을 1001MB에서 86MB로 감소
- Access / Refresh Token과 Refresh Token Rotation을 적용하고, 동시에 만료된 요청의 refresh API 호출을 single-flight 방식으로 합침
- Feature 내부에서 HTTP 요청과 Query 로직을 분리하고, fetch + ReadableStream으로 SSE를 직접 처리해 다중 파일 번역 진행률을 실시간 표시
- Docker 이미지 태그를 commit SHA로 바꾸고 배포 시 Git tag를 기록해 현재 배포 버전과 이력을 확인 가능하게 구성. 기존 이미지를 재사용해 재빌드 없는 롤백 경로 확보
- 패킷 캡처와 경로 추적으로 2중 NAT와 포트 전달 경로를 확인하고, 분석 근거를 인프라 담당자와 공유해 VPN 없는 외부 접속 경로 확보
NestJSPrismaSSEReact 19TanStack StartViteFSDDockernginxGCP
