Skip to content

kkkwp/MusicQ-Service

 
 

Repository files navigation

🎶 MusicQ-Service

🎥 시연 영상


🏆 카카오 클라우드 스쿨 우수 프로젝트 수상
👉 본 레포지토리는 하이브리드 클라우드 아키텍처의 Service(Cloud) 단을 담당합니다.


🧑‍💻 역할

  • 사용자와 직접 연결되는 클라우드 서비스 레이어
  • 필요 시 Domain(On-Prem) 서버에 쿼리 요청
  • Domain으로부터 받은 데이터만 사용자에게 제공
  • 클라우드 확장성 + 온프레미스 보안성 결합

🎨 아키텍처

[User] <----> [Service (Cloud)] <----> [Domain (On-Premise)] <----> [Local DB]
  • Cloud Service: 사용자 접근성과 확장성 확보
  • *Domain: DB와 클라우드 사이의 보안 게이트웨이
  • Local DB: 민감 데이터 보관

architecture


🔌 예제 API 흐름

  1. 사용자가 클라우드 서비스에 요청
GET /api/users/1
  1. Service → Domain 요청 위임
GET http://domain-server:8081/domain/query?sql=SELECT * FROM users WHERE id=1
  1. Domain → DB 조회 후 결과 반환
{
  "id": 1,
  "name": "홍길동",
  "email": "[email protected]"
}
  1. Service → 사용자 응답
{
  "userId": 1,
  "username": "홍길동"
}

🧰 기술 스택

FrontEnd

Backend

🚀 Getting Started

git clone https://github.com/kkkwp/MusicQ-Service.git

# run backend
cd MusicQ-Service
./gradlew bootRun

# run front
cd frontend
npm install
npm run dev
  • 기본 포트: 8080 (Spring Boot), 3000 (React)
  • Domain 서버 주소는 .env 또는 application.yml에서 설정

⚙️ CI/CD 요약

  • GitHub Actions → DockerHub 이미지 빌드/배포
  • ArgoCD → Manifest Repo Webhook 감지 → Kubernetes 자동 배포

📄 참고

👉 전체 서비스 아키텍처, Wiki, Convention 등은 팀 레포지토리참고

About

P2P 실시간 노래 게임 MusicQ 의 서비스 및 API Spring boot Server

Topics

Resources

Stars

Watchers

Forks

Languages

  • Java 99.3%
  • Other 0.7%