티켓팅 경매 서비스
개요
본 프로젝트는 암표 문제를 방지하기 위해 특정 좌석을 경매 형식으로 판매하는 티켓 예매 서비스를 제공합니다. 양도가 불가능한 티켓을 경매 방식으로 판매하여, 소비자들이 정당한 가격에 티켓을 구매할 수 있도록 돕습니다.
기획 배경 및 의도
기존의 티켓 예매 시스템은 티켓의 불법 거래와 암표 문제를 해결하는 데 한계가 있습니다. 특히 인기 있는 공연의 경우, 티켓이 매진되면서 암표 거래가 성행하여 소비자들이 높은 가격을 지불하게 되고, 이는 사회적 문제로 이어집니다. 본 프로젝트는 이러한 문제를 해결하고자 특정 좌석을 경매 형식으로 판매함으로써 암표 거래를 방지하고, 티켓 판매 과정을 더욱 투명하고 공정하게 만듭니다.
서비스 타겟
- 공연 주최자: 티켓 판매 수익을 최적화하고, 추가적인 수익을 창출할 수 있습니다.
- 소비자: 정당한 가격에 티켓을 구매할 수 있으며, 불법 거래로 인한 피해를 방지할 수 있습니다.
기대 효과
- 암표 방지: 암표로 발생하는 부당 수익을 근절하고, 티켓 판매의 투명성을 확보합니다.
- 추가 수익 창출: 공연 주최자는 경매를 통해 추가적인 수익을 얻을 수 있습니다.
- 소비자 만족도 향상: 소비자들은 공정한 가격에 티켓을 구매할 수 있어 만족도가 높아집니다.
프로젝트 확장성
- 사용자 친화적인 인터페이스: 사용자가 쉽게 티켓을 경매에 참여할 수 있도록 직관적이고 편리한 인터페이스를 제공합니다.
- 확장 가능성: 향후 다양한 공연 및 이벤트에 적용할 수 있도록 유연한 시스템 구조를 설계합니다.
기능 목록
결제 기능
- 결제
- 토스 페이 API 연동 (사업자등록 없이 개발자 테스트용 API 지원 여부 확인)
- 일반 좌석 결제
- 포인트 충전 결제
- 결제 취소
- 공연일 10일 전까지 전액 환급
- 공연일 7일 전까지 10% 공제 후 환급
- 공연일 3일 전까지 20% 공제 후 환급
- 공연일 1일 전까지 30% 공제 후 환급
- 공연 당일 시작 전까지 90% 공제 후 10% 환급
- 예매 당일 취소는 공연일 3일 전까지 전액 환급
- 결제 내역 조회
- 기간별 결제 내역 조회
- 결제 및 결제 취소 로그 조회
경매 기능
- 좌석 중 일부 지정하여 경매 진행
- 최고 입찰가 갱신 시 5초 동안 입찰 불가
- 입찰가는 이전 입찰가의 5% 이상
- 경매 마감 전 1분, 5분, 1시간 등 알람 제공
- 경매 기간 및 방식은 주최측 설정 (예: 예상 가격 초과 시 N% 기부)
- 최고 입찰가 및 남은 기간 조회
- 경매는 미리 충전한 포인트(현금 재화)로만 가능
예매 기능
- 1인당 최대 2매 예매 제한
- 양도 불가능
- 예매 현황 조회
- 예매 취소
- 예매 로그 기록
오프라인 인증 기능
- 1분짜리 QR 코드 생성 및 현장 인증
- 관리자용 QR 코드 인식 페이지 개발
회원 기능
- 회원 정보 조회 및 수정
- 회원 탈퇴
- 인증
- 로그인
- 로그아웃
공연 기능
- 공연 카테고리별 목록 조회
- 개별 공연 조회
공연장 기능
- 공연장 조회
- 구역 목록 표시
- 세부 구역 선택 및 해당 구역의 좌석 목록 표시
- 좌석 클릭 시 결제 창으로 이동
백오피스(관리자) 기능
- 공연 관리 기능
- 공연 추가
- 공연 정보 수정
- 공연 삭제
- 공연장 관리 기능
- 구역 설정
- 좌석 설정
- 경매 방식 여부
- 경매 시작가 및 일반 판매가 설정
- 좌석 설정
- 구역 설정
알람 기능
- 원하는 공연 시작 알람
- 경매 입찰 알람
- 낙찰 성공 알람
- 상위 입찰 시 알람
- 참여 중인 경매 남은 시간 알람
추가 기능 고려사항
- 포인트 관리 기능
- 포인트 충전 및 사용 내역 조회
- 포인트 환불 정책
- 사용자 리뷰 및 평점 기능
- 공연 및 공연장 리뷰 작성 및 조회
- 고객 지원 기능
- 문의 및 불만 사항 접수
- FAQ 및 도움말 제공
기술 스택
백엔드
- 프레임워크: Spring Boot 3.2.1
- Spring Web: RESTful 웹 애플리케이션 개발
- Spring Security: 인증 및 권한 관리
- Spring Data JPA: ORM 및 데이터베이스 액세스
- Spring Data Redis: Redis 데이터베이스 사용
- Validation: 입력 데이터 검증
- 데이터베이스
- MySQL: 주 데이터베이스
- H2: 개발 및 테스트용 인메모리 데이터베이스
- Redis: 캐싱 및 세션 저장소
- 배포 환경
- AWS ALB (Application Load Balancer): 트래픽 분산
- AWS EC2: 애플리케이션 서버 호스팅
- AWS ElasticCache: Redis 호스팅
- AWS RDS: MySQL 데이터베이스 호스팅
- AWS S3: 정적 파일 저장 및 관리
프론트엔드
- HTML/CSS
- Bootstrap 5: 반응형 웹 디자인 및 UI 구성 요소
- JavaScript
- jQuery: DOM 조작 및 AJAX 요청
- 배포 환경
- AWS S3: 정적 웹사이트 호스팅
- AWS CloudFront: 콘텐츠 전송 네트워크 (CDN) 사용하여 전 세계에 콘텐츠 빠르게 전달
1차 ERD 설계
'프로젝트 > AuctionSeats(티켓팅 경매 서비스)' 카테고리의 다른 글
예외 핸들러 메소드 추가 구현 (0) | 2024.06.06 |
---|---|
회원 가입 API 구현 (0) | 2024.06.06 |
회원 도메인 구현 (0) | 2024.06.06 |
코드 컨벤션 (0) | 2024.05.30 |
240529_기능 명세 (0) | 2024.05.29 |