FSWDdohyeon / CodeBrew

0 stars 0 forks source link

목차

프로젝트 소개

  1. 프로젝트 이름소개
  2. 시연영상
  3. 스토리보드

기술스택

  1. 개발환경
  2. ERD 설계도
  3. 기능설명

기술적 경험


프로젝트 소개

프로젝트 이름소개


코드브루란?

예약, 상품판매, 게시판 등의 서비스를 제공하는 커피숍의 홈페이지.


시연영상

시연영상 링크


스토리보드

ⓐ 자유게시판

ⓑ 예약

ⓒ 결제

ⓓ 회원

ⓔ 기타


기술스택

개발환경

개발환경

ERD 설계도

ERD 설계도

기능설명서

  1. 예약기능 (← 주로 맡은 부분)
    예약기능 설명서 링크

  2. 결제기능 (← 주로 맡은 부분)
    결제기능 설명서 링크

  3. 자유게시판 (← 일부 맡은 부분)
    자유게시판 설명서 링크

  4. 회원관련 (← 일부 맡은 부분)
    회원관련 설명서 링크


기술적 경험

● 이미 예약된 좌석 비활성화하는 과정에서...
프로젝트를 진행함에 있어 겪은 어려움:
이 프로젝트에서는 사용자가 특정 날짜와 시간에 좌석을 예약할 때, 이미 예약된 좌석은 선택할 수 없도록 비활성화하는 기능을 구현하는데 있어 큰 어려움을 겪었습니다.

● 해결 내용:

ⓐ 예약된 좌석 정보 가져오기:
사용자가 날짜와 시간이 선택하는 두번째 슬라이드에서 비동기적으로 날짜(selectedDate), 시간(selectedTime) (+ 추가적으로 지점(branch))에 해당하는 예약된 좌석 정보를 모든 예약을 보는 쿼리문을 통해 DB에서 가져오게 하였습니다. 해당 지점과 시간대에 이미 예약된 좌석 정보를 JSON 형태로 받아옵니다.

ⓑ 좌석 비활성화 로직:
DB에서 받아온 예약된 좌석 목록은 함수로 전달되어, 페이지 상의 좌석 상태를 업데이트하게 하였습니다.
먼저, 데이터에 없는 값은 기본값으로 설정되어 있던 모든 좌석의 unavailable 클래스를 제거한 후, 예약된 값은 unavailable 클래스를 추가했습니다.
이렇게 하면 사용자가 이미 예약된 좌석을 선택할 수 없게 됩니다.

이를 통해 사용자는 실시간으로 예약 가능 여부를 확인하며, 중복 예약을 방지할 수 있었습니다.