mulk.codes

서른 명 해커톤 신청서를 D1으로 받은 이야기

연재 · 해커톤 준비 일지 3편
  1. 01블로그를 시작합니다
  2. 02행사가 취소되던 날, 신청 화면을 닫는 순서
  3. 03서른 명 해커톤 신청서를 D1으로 받은 이야기

클라이언트가 계산한 금액을 믿지 않기

신청 화면에서 회원/비회원 여부에 따라 참가비를 미리 보여 주더라도, 실제 D1에 저장되는 금액은 항상 서버가 다시 계산해야 합니다.

TS
const FEE = { 회원: 10000, 비회원: 30000 } as const;
const fee = FEE[membership];

한 번의 쿼리로 정원 마감 처리

동시 접수가 몰려도 정원(30명)을 넘기지 않도록 트랜잭션과 상태 필드를 분리해 뒀습니다.