<aside> 📌
- 인프라 구성 이유
- DB 설계 이유
B:Scene은 신생·인디 밴드는 세션을 구하고, 공연을 알리고, 팬들은 좋아하는 밴드의 소식을 놓치지 않고, 새로운 밴드를 알아갈 수 있는 밴드와 팬이 직접 연결될 수 있는 음악 특화 모바일 플랫폼입니다. 백엔드 서버에서는 실시간 오디오 라이브 스트리밍, 세션 모집, 공연 관리, 커뮤니티 참여 기능을 하나의 서버에서 제공합니다.

| 파트 | 기술 |
|---|---|
| Server | Java 21, Spring Boot |
| Streaming | MediaMTX, GStreamer |
| Data | MySQL, Redis, Elasticsearch |
| ML | Python, SentenceTransformer |
| Infra | Docker Compose, nginx |
| Observability | node-exporter, promtail |
GitHub - B-Scene/bscene-server: Spring Boot API 서버
GitHub - B-Scene/bscene-monitoring: B:SCENE BE 서버 메트릭 모니터링
BScene은 인디 밴드와 팬을 잇는 것을 목표로, 밴드가 스스로 활동을 알리고 팬이 그 활동에 실시간으로 참여할 수 있도록 설계된 애플리케이션입니다.
| 도메인 | 책임 | 핵심 엔티티 |
|---|---|---|
| User & Auth | 사용자 식별, OAuth2, 프로필 관리 | User, FanProfile, BandMemberProfile |
| Band | 밴드 생명주기, 멤버십, 추천 | Band, BandMember, Follow |
| Live Stream | MediaMTX 기반 실시간 오디오 스트리밍 및 공동 호스팅 | AudioStream, StreamMember, StreamReplay |
| Recruitment | 세션 뮤지션 구인 공고 및 지원 | SessionRecruitment, SessionApplication |
| Performance | 공연 일정 및 팬 참여 | Performance, PerformanceInterest |
| Communication | WebSocket 채팅, 게시글, 알림 | ChatMessage, Post, Notification |
| Search | 한국어 형태소 분석 기반 전문 검색 | BandDocument, PerformanceDocument, PostDocument |