
요약
- 콘서트 티케팅 프로젝트
- 대기열 시스템을 구축하고, 예약 서비스는 작업가능한 유저만 수행할 수 있도록 해야합니다.
- 좌석 예약 요청시에, 결제가 이루어지지 않더라도 일정 시간동안 다른 유저가 해당 좌석에 접근할 수 없도록 합니다
링크
https://github.com/goodmirow-1/ticketing
역할
- 항해플러스에서 진행한 개인역량 강화 프로젝트로서 혼자서 진행
기술 스택
- NestJS, TypeORM, MariaDB, Typescript
- TDD, Clean Architecture, Redis, Kafka, Event, Docker, CI/CD
주요 기능
- 대기순서 사용자가 예약 가능 날짜와 해당 날짜의 좌석을 조회할 때 대기열 토큰(대기 순서 포함)을 생성 합니다. 대기열 토큰은 결제 완료 시 만료됩니다.
- 좌석 사용자는 날짜와 좌석 정보를 입력하여 예약할 수 있습니다. 좌석은 예약 시 임시로 사용자에게 배정되며, 배정된 시간 동안 다른 사용자의 예약이 불가능합니다. 결제가 시간 내에 이루어지지 않으면 임시 배정이 해제됩니다.
- 결제 결제시 부족한 포인트는 충전과정을 거쳐야 합니다. 사용자는 결제를 진행하여 좌석을 확정짓습니다. 결제가 완료되면 대기열 토큰이 만료되고, 좌석 소유권이 사용자에게 이전됩니다.
시기