관람객과 공연 기획자 사이에서 공연 예매를 중개해주는 사이트.
누구나 공연 기획자 신청을 하고 자신의 공연 만들기 가능
유튜브 사용자는 유튜브를 이용하면서 동시에 콘텐츠 공급자가 될 수 있는 것처럼,
티켓포유 사용자들도 자신만의 공연을 등록할 수 있다.
단, 공연관리자 신청 후 승인을 받는 과정이 있음
예매를 했을 때 바로 공연 기획 측에 수익이 들어가는 것이 아니라 플랫폼 측에서 보관하다가 공연이 완료 일주일 후에 전달하는 것이 특징 (ex. 당근페이 번개페이)
일반 관람객, 공연 기획자, 플랫폼 관리자(티켓포유)
| 항목 | 기술 |
|---|---|
| Framework | SpringBoot |
| JDK | 21 |
| DB | MySQL, Redis, JPA, Spring Data JPA, Spring Data Redis |
| Security | OAuth2.0, JWT, formLogin |
| DevOps | AWS EC2, Docker, Docker-Compose, Github actions |
| Cloud Service | AWS S3, AWS Cloudfront, CoolSMS |
[사용자]
공연 목록 조회 / 필터링, 공연 상세 조회, 공연 예매, 예매 취소, 환불
[기획자]
공연/회차 등록&수정&취소, 정산 요청
[관리자]
공연, 기획자 승인/거부, 유저 무통장입금 환불, 기획자 정산
[로그인 방식]
일반 사용자 : OAuth2.0 구글, 네이버, 카카오 + JWT token
ADMIN : /admin/login으로 접속 후 폼 로그인
- ‘공연과 예매’라는 비즈니스 플로우 내에서 연관된 도메인 엔티티가 많아서 상태 전이에 대한 관리가 중요했음 → 순서도를 그려서 모든 팀원이 같은 비즈니스 로직을 이해할 수 있게 해결
- 환불 서비스를 고려하면서 공연이 취소될 수 있는 여러 상황 가정이 중요했다. → 각 분기를 분리하여 상황을 정리하고 알맞은 서비스 응답을 구현
- 레디스를 사용한 이유
- 정산 시 수수료를 받아 수익 창출
- 좌석 기능 추가 + 선점 기능
- 공연 랭킹 기능 추가
- 검색 최적화
- 접속 대기열 기능 추가
- 모니터링 + 로깅 추가
- 기간에 따른 환불 비율
- 웹앱 패키징




