Skip to content
@next-frame-lab

next-frame-lab

🎫 NextFrame

대규모 트래픽을 감당할 수 있는 견고한 티켓팅 서비스


TypeScript React Java Spring Boot PostgreSQL


"수만 명의 동시 접속에도 멈추지 않는 안정성"

NextFrame은 공연 일정 조회부터 좌석 선택, 결제, 그리고 QR 티켓 발급까지
끊김 없는 사용자 경험을 제공하는 예매 플랫폼입니다.



📝 Table of Contents

  1. Links
  2. Project Overview
  3. Key Features
  4. Tech Stack
  5. System Architecture & ERD
  6. Team Members
  7. Collaboration Rules


🔗 Links



📅 Project Overview

🚩 Background

"서버가 터졌어요"

유명 아이돌 콘서트 티켓팅 시
빈번하게 발생하는 서버 다운 현상

"제 자리가 없어졌어요"

동시 접속자로 인한 이중 예매(Race Condition)
및 데이터 정합성 문제


💎 Core Values

NextFrame은 단순한 예매 기능을 넘어, 극한의 트래픽 상황에서도 신뢰할 수 있는 시스템을 구축했습니다.

견고함 (Stability)

분산 락(Distributed Lock)을 통해
단 하나의 좌석도 중복되지 않도록
데이터 정합성을 보장합니다.

성능 (Performance)

Redis 캐싱과 대기열 시스템으로
대규모 트래픽을 효율적으로
처리하고 부하를 분산합니다.

경험 (Experience)

직관적인 UI와 반응형 디자인으로
사용자에게 끊김 없는
예매 경험
을 제공합니다.



✨ Key Features

기능 상세 설명
🔐 인증/인가 • OAuth 2.0 (카카오 등) 소셜 로그인
• JWT 기반의 보안성 높은 세션 관리
🎫 공연 예매 • 공연 검색 및 상세 정보 조회 (캐싱 적용)
• 실시간 좌석 상태 확인 및 선점 (Concurrency Control)
💳 결제 시스템 • 결제 검증 및 보안 처리
• 결제 실패 시 트랜잭션 롤백 및 좌석 점유 해제
📱 티켓 관리 • 예매 내역 확인 및 QR 코드 티켓 발급
• 사용자 리뷰 및 평점(좋아요) 시스템


🛠 Tech Stack

Frontend

  • Language: TypeScript 5.8.3
  • Framework: React 18.3.1
  • Styling: TailwindCSS
  • State Management: Recoil
  • Server State Management: TanStack Query
  • Test: Jest, React Testing Library

Backend

  • Language: Java 21
  • Framework: Spring Boot 3.5.4
  • Test: JUnit5, Mockito
  • ORM: JPA, QueryDSL

Database

  • RDBMS: PostgreSQL
  • NoSQL: Redis

Infrastructure & Deployment

  • Server: On-Premise
  • Virtualization: Docker
  • CI/CD: GitHub Actions
  • Web Server(Reverse Proxy): Nginx


📐 System Architecture & ERD

현재 아키텍처와 DB 설계도는 지속적으로 고도화 중입니다.

System Architecture

👉 시스템 아키텍처 구성도 펼쳐보기

System Architecture


  1. 서비스 독립 분리 및 API 라우팅

    • Payment, Schedule-Reservation-Ticketing, Payment-Gateway 애플리케이션 독립 운영
    • Nginx Reverse Proxy: React 정적 리소스 및 백엔드 API 단일 진입점(Single Entry Point) 구성
    • 통신 프로토콜: 서비스 간 REST API 표준 인터페이스 적용
  2. CI/CD

    • 조건부 빌드: changed-files 액션을 통한 변경 모듈 감지 및 선별적 빌드/배포
    • Bastion 터널링: 내부망 환경 보안을 위한 SSH 터널링 기반 아티팩트(.jar) 전송
  3. Database

    • 분산 락(Redisson): Redis 기반 락 구현으로 좌석 예매 시 발생하는 Race Condition 방지
    • 데이터 캐싱: 조회 빈도가 높은 공연 정보 Redis 캐싱을 통한 DB 부하 감소 및 응답 속도 개선
    • 데이터 통합 관리: PostgreSQL 통합 DB 구성을 통한 분산 환경 내 데이터 정합성 유지
  4. 보안 및 모니터링

    • 네트워크 격리: Bastion Server를 경유한 SSH 접근 제어 (내부망 격리)
    • 인증/인가: OAuth 2.0 기반 소셜 로그인 및 JWT 토큰 검증
    • 가시성 확보: Prometheus/Grafana/Loki 스택을 활용한 메트릭(CPU, Memory) 및 API 처리 현황 실시간 모니터링

ERD (Entity Relationship Diagram)

👉 ERD (DB 설계도) 펼쳐보기

NextFrame ERD



👥 Team Members

🦌 Backend Team


김민서
Team Leader / Backend
  • 좌석 결제 및 환불 프로세스 구현
  • 티켓(QR 코드) 발급 시스템
  • 공연 검색 기능 고도화 (QueryDSL)
  • DB/배포/모니터링 환경 구축 및 DB 설계

안진표
Backend Developer
  • 공연 좌석 및 예매 프로세스 구현
  • 소셜 로그인(OAuth2) 및 JWT 인증/인가
  • 공연 검색 및 리뷰(좋아요) 기능
  • 배포 환경 구축 및 API 설계

🎨 Frontend Team


박근원
Frontend Developer
  • GitHub Actions CI/CD 구축
  • 결제, 공연, 좌석 등 핵심 도메인 기능 구현
  • 결제, 공연, 좌석 등 핵심 도메인 기능 단위 테스트 진행
  • OAuth Bearer 토큰 인증을 통한 페이지 접근 제한 & 승인 구현

강은현
Frontend Developer
  • 정적 페이지 및 반응형 CSS 구현
  • 메인 페이지 공연 목록 API 연동
  • 카카오 로그인/회원가입 OAuth 구현
  • Recoil 상태 관리를 통한 토큰 관리


🤝 Collaboration Rules (Ground Rules)

NextFrame 팀은 명확한 규칙을 통해 코드 품질을 유지하고 협업 효율을 높입니다.

1. Git Strategy

  • Git Flow 전략을 따릅니다. (main, develop, feature, release, hotfix)
  • Merge Strategy: Rebase and Merge를 사용하여 커밋 히스토리를 깔끔하게 관리합니다.

2. Code Convention

3. Commit Message Convention

이슈 트래킹을 위해 아래 템플릿을 엄격히 준수합니다.

#<이슈번호> <타입>(<범위>): <제목> (제목은 40자 이내)

<본문> (선택 사항, 한 줄 띄우고 작성. 72자 이내로 줄 바꿈)

Resolves: #<이슈번호>
See also: None (관련 항목이 있으면 #<이슈번호> 기입)

Made with ❤️ by NextFrame Team

Popular repositories Loading

  1. api-server api-server Public

    Next Frame "공연장 좌석 예매 서비스" API 서버입니다.

    Java 1

  2. uiux-server-practice uiux-server-practice Public

    "공연 좌석 티켓 구매 서비스"의 프론트엔드 연습용 레포지토리입니다.

    JavaScript

  3. swagger-ui-docs swagger-ui-docs Public

    API 명세서입니다.

    HTML

  4. uiux-server uiux-server Public

    공연 좌석 티켓 구매 서비스

    TypeScript 1

  5. .github .github Public

Repositories

Showing 5 of 5 repositories

Top languages

Loading…

Most used topics

Loading…