실시간으로 음악을 함께 고르고 재생하는 DJing·음악 공유 플랫폼 Queuing의 백엔드입니다.
- 음악 방 생성·검색과 참여자 관리
- 실시간 재생 상태, 플레이리스트, 채팅 동기화
- 사용자 프로필, 사용자 팔로우 및 접속 상태, 사용자 차단 제공
- 칭호와 음악력 평가
- 채팅 신고, 사용자 제재와 운영자 관리 기능
| 구분 | 기술 |
|---|---|
| Language | Java 25 |
| Framework | Spring Boot 4.1, Spring Security, Spring Data JPA |
| Realtime | WebSocket, STOMP, SSE |
| Database | MariaDB, Redis, jOOQ |
| Build & Test | Gradle, JUnit 5 |
| Infrastructure | Docker, GitHub Actions |
기능별 도메인을 중심으로 presentation, application, domain, infrastructure 계층을 분리합니다.
- MariaDB는 방과 재생 대기열을 포함한 영속 데이터의 기준입니다.
- Redis는 접속 상태, 세션, 재생 상태, 예약 작업처럼 수명이 짧은 런타임 데이터를 담당합니다.
- REST API와 WebSocket 메시지를 함께 사용해 조회·명령과 실시간 이벤트를 처리합니다.