Skip to content

betterb2etr/MURE

 
 

Repository files navigation

🎭 MURE — 뮤지컬 티켓팅 일정 통합 & 알림 플랫폼

뮤지컬 정보를 한눈에, 중요한 티켓팅 일정을 놓치지 않게
흩어진 뮤지컬 공연·티켓팅 정보를 통합하고
사용자 관심사 기반 맞춤형 알림을 제공하는 뮤지컬 팬 커뮤니티 플랫폼

MURE Banner


🗓 프로젝트 개요

  • 프로젝트 기간: 2024.07 ~ 2024.09 (약 3개월)
  • 팀 구성: 4인
    • Backend 1
    • Frontend 2
    • Designer 1
  • 담당 역할
    • 백엔드 전반 설계 및 구현
    • DB 모델링 및 인프라(AWS) 구축
    • 외부 API 연동 및 배치/알림 시스템 개발

🔗 Original Repository
https://github.com/Notice4MusicalTicketing/BE


🗂 아키텍처 개요

Client (Web)
↓
Express REST API (TypeScript)
↓
Controller Layer
↓
Service Layer
├─ Musical / Schedule Domain
├─ Favorite / Notification Domain
└─ Community Domain
↓
Prisma ORM
↓
MySQL

❓ 문제 정의 (Why)

뮤지컬 팬들은 공연 정보를 얻기 위해 다음과 같은 불편을 겪고 있습니다.

  • 🎟 예매 사이트별로 흩어진 티켓 오픈 일정
  • ⏰ 원하는 공연의 예매 시작일을 놓치는 경우 빈번
  • 🎭 관심 배우·장르의 신작 정보를 실시간으로 추적하기 어려움
  • 💬 뮤지컬에 특화된 전용 커뮤니티의 부재

➡️ 결국, 정보는 많지만 관리되지 않아 놓치게 되는 경험이 반복됩니다.


💡 해결 전략 (Solution)

MURE는 공연예술통합전산망 KOPIS Open API를 기반으로
뮤지컬 데이터를 자동 수집하고, 사용자 관심사에 맞춘 일정 관리 + 알림 + 커뮤니티를 하나로 통합한 플랫폼입니다.

핵심 포인트

  • ✅ 공연 정보 자동 수집 & 정규화
  • ✅ 관심 공연 중심의 개인화된 일정 관리
  • 정기 + 이벤트 기반 스마트 알림
  • ✅ 뮤지컬 팬을 위한 익명 커뮤니티

✨ 주요 기능

🎯 찜 (Favorites)

  • 관심 있는 뮤지컬 / 배우 찜 등록
  • 찜한 공연의
    • 🎟 예매 오픈
    • 🎬 공연 시작 / 종료
      일정 자동 추적
  • 찜 목록에서 공연 상세 정보 한눈에 확인

📅 캘린더 (Calendar)

  • 찜한 공연 일정 컬러별 시각화
  • 월간 / 일간 뷰 전환
  • 카테고리 필터링
    • 예매 오픈일
    • 공연 시작일
    • 공연 종료일

🔔 스마트 알림 (Smart Notifications)

  • 정기 알림
    • 🕙 오전 10시: 오늘의 일정 리마인드
    • 🕙 오후 10시: 내일 일정 미리보기
  • 찜한 공연의 중요 일정 변경 시 즉시 알림
  • 알림 중복 방지를 위한 발송 이력 관리

💬 커뮤니티 (Community)

  • 익명 기반 게시글 작성
    • 공연 후기
    • 캐스팅 소식
    • 관람 팁 공유
  • 좋아요 / 댓글 기능
  • 팬들 간 자연스러운 정보 교류 공간 제공

🏠 통합 대시보드 (Home)

  • 한 화면에서 확인
    • 🔍 공연 검색
    • ⭐ 최근 찜 목록
    • 📅 오늘의 일정
    • 💬 커뮤니티 인기글
    • 🔔 알림 요약
  • 사용자 취향 기반 추천 뮤지컬 노출

🛠 기술 스택

Backend

  • Node.js
  • Express.js
  • TypeScript
  • Prisma ORM

Database

  • MySQL
    • 공연 / 사용자 / 찜 / 일정 / 커뮤니티 데이터 저장
    • 관계 중심 스키마 설계

Infrastructure

  • AWS EC2
    • 백엔드 서버 운영

External / Documentation

  • KOPIS Open API
  • Swagger UI

🔧 트러블슈팅 & 개선 경험

1️⃣ KOPIS API 응답 형식 불일치

문제

  • XML 응답 필드 구조가 공연 유형별로 상이

해결

  • 스키마 버전별 파싱 로직 분리
  • 필드 누락 대비 fallback 처리

결과

  • 데이터 수집 성공률 70% → 98% 개선

📚 배운 점

기술적 성장

  • Prisma ORM
    • 타입 안정성 + 마이그레이션 자동화로 개발 생산성 향상
  • 배치 & 스케줄링 설계
    • cron 표현식, 예외 처리, 중복 실행 방지의 중요성 체감
  • API 문서화
    • Swagger 도입 후 FE–BE 커뮤니케이션 비용 크게 감소

협업 경험

  • 프론트엔드 팀과 주 2회 정기 회의
  • GitHub Projects 기반 이슈 관리 및 우선순위 조율
  • 디자이너 피드백 반영 → API 응답 구조 개선

About

Main Server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 100.0%