Skip to content
@sb-05-mopl

Mopl

모두의 플리

MOPL - 콘텐츠 디스커버리 & 소셜 플랫폼

MOPL 프로젝트의 백엔드 시스템을 구성하는 레포지토리 모음입니다.

📄 프레젠테이션 PDF
image

프로젝트 일정

image

팀 소개

이름 역할 도메인 기술
정기주 팀장 User Spring Batch, Spring Security, OAuth, 클라우드
김재민 팀원 알림 SSE, Kafka 설정
정영진 팀원 DM, 리뷰, 팔로우 WebSocket, Monitoring, JMeter 부하테스트
민재영 팀원 콘텐츠, 플레이리스트 클라우드, Elasticsearch

레포지토리 개요

spring - 메인 API 서버

Spring Boot 3.5.9 기반의 멀티모듈 프로젝트로, 두 개의 서브모듈로 구성됩니다.

  • mopl-core: 콘텐츠 관리, 사용자 인증(JWT/OAuth2), 플레이리스트, 리뷰, 팔로우 등 핵심 REST API를 제공합니다. PostgreSQL, Elasticsearch, Redis를 데이터 저장소로 사용합니다.
  • mopl-websocket-sse: 알림, 다이렉트 메시지, 실시간 함께보기(Watching Session) 등 실시간 통신 기능을 WebSocket과 SSE로 제공합니다. Kafka를 통해 이벤트를 처리합니다.

Nginx가 리버스 프록시로 두 서비스의 트래픽을 라우팅합니다.

기술 스택: Java 21, Spring Boot, Spring Security, Spring Data JPA, QueryDSL, MapStruct, Kafka, Elasticsearch, Redis, PostgreSQL

batch - 콘텐츠 수집 배치

Spring Batch 기반의 배치 애플리케이션으로, 외부 API에서 콘텐츠 데이터를 수집하여 DB에 저장합니다.

  • TMDB API: 영화 및 TV 프로그램 데이터 수집
  • TheSportsDB API: 스포츠 이벤트 데이터 수집
  • 수집된 콘텐츠의 썸네일을 AWS S3에 업로드하고, 중복 검사 및 태그 처리를 수행합니다.

기술 스택: Java 21, Spring Boot, Spring Batch, PostgreSQL, AWS S3, Prometheus PushGateway

monitoring - 모니터링 스택

Prometheus + Grafana 기반의 모니터링 인프라로, Docker Compose로 구성됩니다.

  • Spring API, WebSocket 서버, Batch 작업, PostgreSQL, Elasticsearch의 메트릭을 수집합니다.
  • 시스템 개요, 도메인 개요, Batch 모니터링, API별 성능 모니터링 등 6개의 사전 구성된 Grafana 대시보드를 포함합니다.

구성 요소: Prometheus, Grafana, Pushgateway, PostgreSQL Exporter, Elasticsearch Exporter

시스템 아키텍처

image

배포

https://mopl.cloud 월 12만원을 감당할 수 없어 닫아두었습니다(2026/2/1)

Popular repositories Loading

  1. spring spring Public

    Java

  2. batch batch Public

    Java

  3. monitoring monitoring Public

    Shell

  4. .github .github Public

    ReadMe

  5. front front Public

    mopl-frontend

    TypeScript

Repositories

Showing 5 of 5 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…