프로젝트 배경
1) 예상 리스크 및 대응 계획 - 수강권 종류(횟수권·기간권·체험권)별 차감 정책이 달라 단일 트랜잭션 로직에서 타입 분기를 설계해야 했다 - QR 출석 토큰 유효기간과 강좌 시작 허용 시간 윈도우를 설정값으로 분리하여 운영 중 재배포 없이 조정 가능하도록 구조화하는 과제가 있었다 - 커뮤니티 이미지 업로드 시 S3 presigned URL 만료 전 재업로드 재시도 로직과 클라이언트 진행률 표시를 동시
프로젝트 성과
강좌 잔여석 SSE 실시간 스트리밍 구조 구현
다수 사용자가 동시에 예약 화면을 열었을 때 잔여석이 폴링 없이 갱신되도록 서버센트이벤트 스트림 구조를 구현할 예정이다.
수강권 차감 원자적 트랜잭션 설계
Prisma 트랜잭션으로 수강권 잔여 횟수 차감과 예약 생성을 원자적으로 처리하여 동시 요청 시 초과 차감이 발생하지 않는 구조를 설계할 예정이다.
QR 출석 세션 격리 구조 설계
강좌 세션별 Socket.io 룸으로 출석 이벤트를 격리하고, Redis TTL 캐시로 중복 체크인을 방지하는 출석 검증 구조를 구현할 예정이다.
SSE 기반 댓글 알림 파이프라인 구축
폴링 없이 댓글 생성 이벤트를 SSE 채널로 전달하여 클라이언트 알림 배지를 실시간 갱신하는 단방향 스트리밍 파이프라인을 구축할 예정이다.
핵심 기능
진행 단계
도메인 모델링 및 ERD 설계
2026.03.
강사·강좌·수강권·출석·커뮤니티 5개 도메인 관계 모델링, Prisma 스키마 확정, API 계약 문서 작성
프로젝트 상세
1) 포트폴리오 소개 문화센터 강좌 예약·수강권 관리·수강생 커뮤니티를 하나의 웹 플랫폼으로 통합 설계 및 구현할 예정이다. 소셜 로그인 기반 회원 인증, QR 출석 체크, 강사·강좌·수강생 3중 관계 도메인을 RESTful API로 모델링하고, 커뮤니티 게시판·댓글 실시간 알림 구조를 구축할 예정이다. 2) 작업 범위 - 강좌 탐색 & 예약: 카테고리별 강좌 카드 탐색, 잔여석 실시간 확인, 날짜·







