BEYOND SW 캠프 23기 15주차 회고

이지연·2026년 3월 2일
post-thumbnail

Week 15

기간: 2026.02.23 - 2026.02.27
커리큘럼: Team Project (Articket - 공연 예매 플랫폼)


1. Facts — 무엇을 했나?

< Team Project (Articket) >

  • [Articket] 프로젝트 초기 세팅 및 구조화
    Spring Boot 백엔드와 Vue.js 프론트엔드를 동시에 개발하며, 모놀리식 구조로 ERD 기반 엔티티(Venue, Member, Performance, Seat, Order 등)를 구현했다.
  • GitHub 저장소 설정 및 브랜치 전략(feature/이슈 단위)을 팀원과 정립하고, API 명세(Postman 기준)를 공유했다.

    https://github.com/beyond-sw-camp/be23-2nd-team5-articket-be
    https://github.com/beyond-sw-camp/be23-2nd-team5-articket-fe
    ※ 현재는 private 레파지토리로 추후 public으로 변경 예정

  • Redis TTL 기반 좌석 선점 로직과 WebSocket(STOMP) 실시간 좌석 상태 연동을 백엔드에서 구현하고, 프론트엔드 좌석맵 컴포넌트와 연계 테스트했다.
  • Kakao OAuth/Google OAuth 간편로그인과 JWT 토큰 발급 시스템을 백엔드에서 구축, 프론트엔드 리디렉트 핸들러를 구현했다.
  • 공연장 관리(CRUD)와 좌석 배치도 생성 API를 개발하고, Vue에서 동적 좌석 UI를 렌더링하는 작업을 진행했다.

2. Feelings — 어떻게 느꼈나?

  • 모놀리식으로 빠르게 MVP를 만들어보니 MSA 이론 학습 후 실제로 통합 구조의 단순함을 다시 체감하면서도, 동시성(좌석 선점) 같은 핵심 기능 구현이 흥미로웠다.
  • 프론트(Vue)와 백(Spring Boot)을 동시에 작업하면서 API 스펙 불일치로 인한 디버깅이 반복되자, Swagger/Postman의 중요성을 뼈저리게 느꼈다.
  • Redis Lua 스크립트로 원자적 선점 구현 성공 시 WebSocket으로 실시간 반영되는 걸 보며 "진짜 서비스"가 만들어지는 감격을 느꼈다.
  • 팀원들과 매일 코드리뷰/PR 병합하면서 협업 리듬이 잡히는 게 가장 보람찼고, 서로 다른 스택(백/프론트) 보완이 재밌었다.

3. Findings — 무엇을 배웠나?

  • 모놀리식 개발의 실용성:
    초기 MVP 단계에서는 서비스 분리보다 단일 코드베이스에서 빠른 통합 테스트가 더 효율적이며, Redis/WebSocket 같은 핵심 기능을 먼저 검증할 수 있었다.

  • 프론트-백엔드 동시 개발 워크플로우:
    API 명세를 Postman으로 먼저 정의하고(추후 Swagger 도입 고려 중) → 프론트에서 Mock 데이터로 UI 개발 → 실제 연동 순으로 진행하니 충돌이 줄었다.

  • Redis TTL + Lua + WebSocket 조합의 동시성 해결:
    좌석 선점에서 발생하는 Race Condition을 Lua 스크립트로 원자적으로 처리하고, Keyspace Notification으로 TTL 만료를 자동 감지해 실시간 해제하는 구조를 익혔다.


4. Future — 다음에 어떻게 활용할까?

  • 좌석 선점 성공 → RabbitMQ 큐 워커로 결제 확정 처리 연계하여 "선점 → 확정" 완전 플로우 구현하기.
  • SSE 실시간 알림(결제 완료, 공연 승인 등)을 Pub/Sub으로 확장해 다중 서버 환경에서도 안정적 브로드캐스트 지원.
  • Kakao Map API 연동으로 위치 기반 공연장 검색(Haversine 공식 활용 공간 쿼리)과 관리자 지도 좌석 배치 기능을 추가.
  • Rate Limiting + Circuit Breaker 패턴 적용으로 티켓 오픈 시 트래픽 폭증 대비.
  • Docker Compose로 프론트+백+Redis+RabbitMQ 전체 환경을 컨테이너화해 팀별 로컬 환경 통일.

🧩 마무리 한 줄

Articket 모놀리식 MVP 개발로 Redis 선점 + WebSocket 실시간 + OAuth 인증의 핵심 기능들을 팀 협업 속에 구현해본 생산적인 한 주였다.

profile
Eazy하게

0개의 댓글