Skip to content

kkkwp/MusicQ-Domain

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎶 MusicQ-Domain

🎥 시연 영상


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


🧑‍💻 역할

  • 온프레미스 환경에서 로컬 DB에 직접 연결
  • 클라우드 서비스(MusicQ-Service) 요청을 받아 쿼리를 수행 후 결과만 전달
  • DB 보안성 확보클라우드 경제성 동시 충족

🎨 아키텍처

[Service (Cloud)] <----> [Domain (On-Premise)] <----> [Local DB]
  • Local DB: 보안이 중요한 원천 데이터 저장
  • Domain: 클라우드 요청 → 쿼리 실행 → 결과 반환
  • Service: 사용자와 직접 연결되는 클라우드 레이어

architecture


🔌 예제 API 흐름

  1. 클라우드 서비스 → Domain 요청
GET /domain/query?sql=SELECT * FROM users WHERE id=1
  1. Domain 서버 → 로컬 DB 실행
SELECT * FROM users WHERE id=1;
  1. Domain → Service 응답
{
  "id": 1,
  "name": "홍길동",
  "email": "[email protected]"
}

🧰 기술 스택

📚 주요 라이브러리

  • spring-boot-starter-web → REST API 제공
  • spring-boot-starter-data-jpa → ORM 기반 DB 연동
  • spring-boot-starter-validation → 요청 데이터 검증
  • spring-boot-devtools → 로컬 개발 편의성
  • mariadb-java-client → MariaDB 드라이버
  • json
  • lombok
  • querydsl

🚀 Getting Started

git clone https://github.com/kkkwp/MusicQ-Domain.git
cd MusicQ-Domain
./gradlew bootRun
  • 기본 포트: 8081
  • DB 연결 정보: src/main/resources/application.yml 수정

⚙️ CI/CD 요약

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

📄 참고

👉 전체 서비스 아키텍처, 위키, 컨벤션 등은 팀 레포지토리를 참고해주세요.

About

P2P 실시간 노래 게임 MusicQ 의 Domain 작업을 위한 Spring boot Server

Topics

Resources

Stars

Watchers

Forks

Languages

  • Java 100.0%