스파르타 코딩

[5주차] 키즈카페 조회 & 예약 사이트 만들기 - 결제 시스템 (문제해결 과정)

스타르타 2024. 12. 27. 17:55
반응형

1. 성능 개선 / 코드 개선 요약

  • 결제 시스템 도입 및 예약과 연결: 결제 시스템을 도입하여 예약과 결제를 연동하고, 결제가 완료된 예약에만 리뷰를 작성할 수 있도록 했습니다. 결제 시스템을 구현하면서 발생할 수 있는 예외 처리 및 오류를 개선하고, 결제 완료 후에만 리뷰를 허용하도록 설정했습니다.
  • 리뷰 작성 시간 제한: 예약 후 일정 시간이 지난 후에만 리뷰를 작성할 수 있도록 제한을 두었습니다. 예약 시간에 맞지 않는 리뷰 작성을 방지하여 리뷰의 신뢰도를 높였습니다.

 

2. 문제 정의

  • 결제 시스템 도입: 예약 후 결제를 진행하고, 결제 후에만 예약이 확정되는 시스템을 도입해야 했습니다. 결제 전에는 리뷰를 작성할 수 없도록 하여, 결제 완료된 사용자만 리뷰를 작성하도록 했습니다.
  • 리뷰 작성 제한: 예약 시간이 지난 후에만 리뷰를 작성할 수 있도록 설정해야 했습니다. 이를 통해 예약된 시간과 실제 방문 시간에 맞지 않는 리뷰 작성을 방지했습니다.

 

3. 가설

  • 결제 시스템 도입 후 결제 여부에 따른 예약 확정: 결제 시스템을 도입하면 예약 후 결제를 완료한 사용자만 리뷰를 작성할 수 있게 되어, 신뢰성 있는 리뷰를 유도할 수 있다.
  • 예약 시간 이후 리뷰 작성 가능: 예약된 시간 이후에만 리뷰를 작성할 수 있도록 제한하면, 예약된 시간과 실제 방문 시간이 맞지 않는 리뷰를 방지할 수 있다.

 

4. 해결 방안

  • 문제 해결을 위한 의사결정 과정
    1. 결제 시스템 도입: 외부 결제 API(예: 토스, 카카오페이...)를 사용하여 결제를 처리하기로 결정했습니다. 외부 결제 API는 안정적이고 검증된 서비스로, 결제 시스템을 빠르게 구현할 수 있고, 보안 측면에서 신뢰할 수 있습니다.
    2. 리뷰 작성 제한: 예약 시간이 지난 후에만 리뷰를 작성할 수 있도록 설정했습니다. 예약된 시간이 지나지 않으면 리뷰 작성이 불가능하게 하여, 실제 방문한 사용자만 리뷰를 작성하도록 유도했습니다.

 

  • 해결 과정
    1. 결제 시스템 도입
      • 외부 결제 API를 통해 결제 프로세스를 구현하였으며, 결제 완료 후에만 예약 상태를 '결제 완료'로 변경하고, 리뷰 작성이 가능하도록 설정했습니다.
    2. 리뷰 작성 제한
      • 예약 시간이 지나지 않으면 리뷰 작성이 불가능하도록 하여, 예약된 시간에 맞는 리뷰만 작성되도록 제한을 두었습니다.

 

5. 해결 완료

  • 결제 시스템 도입: 결제 후 예약 확정 및 리뷰 작성 조건을 설정함으로써, 결제 완료된 예약에만 리뷰를 작성할 수 있도록 했습니다. 이는 사용자 신뢰성을 높이고, 예약 후 실제 방문한 사람만 리뷰를 작성할 수 있도록 했습니다.
  • 리뷰 작성 제한: 예약된 시간이 지나지 않으면 리뷰 작성이 불가능하도록 설정하여, 실제 방문한 사용자만 리뷰를 작성할 수 있도록 하였습니다.

 

6. 회고

  • 기술의 장단점
    1. 결제 시스템: 외부 결제 API 도입으로 결제 시스템을 신속하게 구현할 수 있었고, 안정성과 보안성도 보장되었습니다. 그러나 외부 서비스 의존도가 높아지며, 서비스 변경이나 중단 시 리스크가 발생할 수 있다는 점은 단점으로 남습니다.
    2. 리뷰 작성 제한: 예약 시간 이후에만 리뷰를 작성할 수 있게 하여, 리뷰의 신뢰성을 높일 수 있었습니다. 다만, 이로 인해 일부 사용자가 불편할 수 있다는 점을 고려하여 향후 유연한 설정을 추가할 필요가 있습니다.
  • 다시 시도한다면
    1. 결제 시스템: 결제 시스템은 외부 API를 사용하는 방식이 안정적이었지만, 사용자의 요구에 따라 자체 결제 시스템을 구축하는 방법을 고려해 볼 수 있겠습니다. 자체 시스템을 구축하면 더 많은 커스터마이징이 가능하지만, 보안과 유지 관리에서 더 많은 비용과 시간이 들 수 있습니다.
    2. 리뷰 작성 제한: 예약 시간 이후에만 리뷰 작성이 가능하도록 한 점은 효과적이었지만, 더 유연한 시간 설정이 필요할 수도 있습니다. 예를 들어, 예약된 시간이 지나면 일정 시간이 지나야 리뷰를 작성할 수 있도록 하여, 예약 후 너무 오랜 시간이 지나지 않은 리뷰만 작성되도록 하는 방안을 고려할 수 있습니다.
반응형