피드로 돌아가기
EasyPollVote [Dev Log #4]
Dev.toDev.to
Frontend

Supabase 기반의 서버리스 투표 시스템 및 유효기간 제어 로직 설계

EasyPollVote [Dev Log #4]

FrancisTRᴅᴇᴠ (っ◔◡◔)っ2026년 5월 1일13beginner

Context

계정 생성 없는 신속한 투표 경험 제공을 위한 Next.js 및 Supabase 기반의 Full-stack 구조 설계. 투표 생성부터 종료 시점까지의 생명주기 관리와 동적인 옵션 설정 기능 구현에 집중.

Technical Solution

  • Supabase를 활용한 서버리스 DB 연동으로 백엔드 인프라 구축 비용 및 복잡도 제거
  • 2개에서 최대 4개까지 제한한 동적 Option State 관리를 통한 데이터 정규화 및 입력값 제어
  • datetime-local 입력을 통한 Poll_EndDate 설정 및 클라이언트 사이드 유효성 검증 로직 적용
  • 현재 시간과 종료 시간을 비교하여 Poll_Ended 플래그를 업데이트하는 상태 동기화 메커니즘 구현
  • 투표 종료 시 UI 상의 투표 기능을 즉시 비활성화하는 조건부 렌더링 처리
  • private link 기반의 접근 제어를 통해 별도의 Auth 과정 없는 Voter 접근성 확보

- 서버리스 DB 사용 시 클라이언트 단에서의 데이터 유효성 검증과 DB 상태 동기화 시점 정의 - 사용자 입력 옵션의 최소/최대 범위를 설정하여 데이터베이스 스키마의 예측 가능성 확보 - 시간 기반 상태 변경이 필요한 기능의 경우, 조회 시점의 실시간 검증 로직을 통한 무결성 유지

원문 읽기