-
Notifications
You must be signed in to change notification settings - Fork 3
기획서
이승민 edited this page Apr 28, 2025
·
3 revisions
본 프로젝트는 콘서트 및 공연 티켓을 실시간으로 예매할 수 있는 웹 기반 서비스로, 티켓 오픈 시 발생하는 대규모 동시 접속 문제를 해결하고 공정한 예매 환경을 제공하는 것을 핵심 목표로 합니다.
서비스 안정성을 위해 대기열 시스템을 도입하고, 티켓 동시 예매와 같은 상황을 동시성 제어를 통해 안전하게 처리합니다. 또한, 서버 확장 시 로드 밸런싱을 도입하여 서버 트래픽을 분산시킬 수 있는 아키텍처를 고려했습니다.
사용자는 실시간 좌석 상태를 확인하며 예매할 수 있고, 대기열 시스템과 알림 기능으로 실제 예매 환경에 가까운 경험을 제공합니다. 관리자는 사용자 예매 이력을 모니터링하고 관련 통계를 확인할 수 있습니다.
- 주제 : 콘서트 티켓 예매 서비스 픽고(PickGO)
- 설명 : 콘서트, 공연 등의 티켓을 온라인으로 예매할 수 있는 실시간 기반의 예매 시스템
- 목표 : 트래픽 폭주에도 안정적으로 작동하고, 공정한 예매 및 실시간 대기열 기능 제공
- 인기 콘서트의 티켓 오픈 시 동시 접속자 폭주 문제 해결
- 기존 예매 시스템의 좌석 선택 불편함 개선
- 대기열, 실시간 좌석 상태, 알림 등 실제 예매 환경과 유사한 서비스 구현
- 유저
- 회원관리
- 회원가입
- 이메일/소셜 로그인
- 마이페이지
- 티켓 예매 내역 조회, 취소
- 회원 정보 수정, 탈퇴
- 티켓 예매
- 티켓 결제
- 좌석 선택
- 예매 완료 후 즉시 결제
- 티켓 취소
- 티켓 결제
- 공연 조회
- 목록 조회 (페이징, 검색)
- 카테고리별(가수이름, 지역, 장르) 검색 기능
- 상세 조회
- 공연 상세 정보 확인(일시, 장소, 출연자, 좌석 위치)
- 공연 즐겨찾기 → 티켓팅 오픈 알림, 취소표 알림
- 목록 조회 (페이징, 검색)
- 회원관리
- 관리자
- 게시글 작성
- 로그 및 모니터링(사용자 예매 이력)
- 티켓 판매 현황 모니터링
- 예매자/결제 데이터 조회 및 통계
- 마이페이지
- 알림 신청한 공연 목록 조회
- 찜한 자리 목록 조회
- 작성한 리뷰 목록 조회
- 알림 기능
- 티켓팅 오픈
- 빈자리 알림
- 리뷰
- 공연 리뷰 댓글
- 리뷰 신고 기능
- 공연 상세 조회
- 공연 게시글 추천 및 공유
Frontend
- React, tailwind, zustand, react query
Backend
- Java 21, Spring Boot, JPA, Spring Security
DataBase
- MySQL, Redis
Messaging Queue
- Kafka
Notification
- FCM
CI/CD
- Github Actions
Deploy
- AWS(EC2, CloudFront, S3), Docker, Nginx, Vercel
Monitoring
- Prometheus, Grafana
Test
- Postman, JMeter, k6
API
- Kakao API, Kopis API, Google API
Doc
- Swagger
- 회원가입/로그인 페이지
- 마이페이지
- 공연 목록 페이지(홈)
- 공연 상세 정보 페이지
- 좌석 선택 및 예매 페이지
- 모니터링 페이지
- 통계 페이지
유저 스토리 ID | 역할 | 유저 스토리 |
---|---|---|
USR-001 | 회원 | 나는 이메일과 비밀번호를 입력해서 회원가입하고, 로그인하고 싶다. |
USR-002 | 예매자 | 나는 관심 있는 공연을 조회하고, 상세 정보를 보고, 예매 가능한 좌석을 확인하고 싶다. |
USR-003 | 예매자 | 나는 좌석을 선택하고, 결제까지 완료하여 티켓을 예매하고 싶다. |
USR-004 | 예매자 | 나는 내가 예매한 공연 내역을 마이페이지에서 확인하고, 필요시 취소하고 싶다. |
USR-005 | 사용자 | 나는 내 개인정보(닉네임, 비밀번호 등)를 수정하거나 탈퇴하고 싶다. |
USR-006 | 대기자 | 나는 예매 대기열에 들어가 순서가 되면 알림을 받고 예매를 진행하고 싶다. |
USR-007 | 실패자 | 나는 예매에 실패했을 때, 해당 좌석이 다시 생기면 알림을 받고 다시 예매하고 싶다. |
유저 스토리 ID | 역할 | 유저 스토리 |
---|---|---|
ADM-001 | 관리자 | 나는 새로운 공연을 등록하고, 좌석 및 예매 일정을 설정하고 싶다. |
ADM-002 | 관리자 | 나는 사용자의 예매 내역과 결제 상태를 조회하고, 통계를 확인하고 싶다. |
ADM-003 | 관리자 | 나는 특정 공연의 좌석 예매 기록을 실시간으로 모니터링하고 싶다. |
- 버전 관리 : GitHub
- 이슈 관리 : GitHub Issues
- 커뮤니케이션 : Slack, Zoom
- 문서 관리 : Notion, Github Wiki
- 코드 리뷰: Pull Request, code-withme
- API 명세 및 Mock 서버 : Postman(API Mock), Swagger