프로젝트 배경
1) 예상 리스크 및 대응 계획 - 40분 슬롯 동시 예약 충돌: 두 바이어가 동일 슬롯에 동시 예약 시 중복 확정 방지를 위한 Prisma 트랜잭션 + 낙관적 잠금 설계 - 다국어 폼 유효성 메시지 동기화: Zod 에러 메시지를 i18next 키와 연동해 언어 전환 시 에러 문구가 즉시 갱신되도록 처리 - 점심시간 슬롯 자동 비활성화: 행사 날짜별 운영 시간 설정값을 DB에서 읽어 런타임에 disabl
프로젝트 성과
40분 슬롯 자동 분할 예약 엔진 구현
10:00~18:00 구간을 40분 단위로 자동 분할하고 점심시간 자동 비활성화, DB 트랜잭션 중복 방지 로직을 포함한 예약 엔진을 설계합니다.
국문/영문 이중 언어 인터페이스 설계
i18next 네임스페이스 분리와 언어별 날짜·숫자 포맷을 적용해 기업(국문)·바이어(영문) 각각 최적화된 UX를 구현합니다.
역할별 JWT 인증 및 권한 구조 구축
기업·바이어·관리자 3개 역할 클레임을 JWT에 내장하고 Prisma Row Level Guard로 데이터 접근 범위를 제한하는 구조를 설계합니다.
S3 Presigned URL 파일 업로드 구현
multer-s3와 Presigned URL을 결합해 서버 메모리 부하 없이 PDF 카탈로그 직접 업로드 및 서명 URL 스트리밍을 구현합니다.
exceljs 다중 시트 데이터 내보내기 구현
회원·매칭·상담 결과를 시트별로 분리한 xlsx 파일을 서버 스트리밍으로 생성해 관리자 일괄 다운로드를 지원합니다.
핵심 기능
진행 단계
요구사항 분석 및 DB 스키마 설계
2026.04
역할별 권한 구조, 슬롯 예약 상태 머신, 다국어 데이터 모델을 정의하고 Prisma 스키마로 구현합니다.
프로젝트 상세
1) 포트폴리오 소개 국내 수출기업과 해외 바이어를 대상으로 국문/영문 이중 언어를 완벽 지원하는 B2B 수출상담회 스케줄링 플랫폼입니다. 10:00~18:00 구간을 40분 단위 슬롯으로 자동 분할하고 점심시간을 자동 비활성화하는 예약 엔진을 설계합니다. 기업·바이어·관리자 3개 역할 기반 인증 구조와 실시간 매칭 현황 대시보드, 엑셀 내보내기 기능을 구현합니다. 2) 작업 범위 - 다국어 메인 &







