Skip to content

현대인을 위한 디톡스 디지털 제한 도구 및 사용성 앱 (backend_msa)

Notifications You must be signed in to change notification settings

BridgeON-Team/unplug_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

🌱 UnPlug - Digital Detox Platform

MSA 기반 서버 프로젝트

1. 프로젝트 개요

본 프로젝트는 디지털 디톡스(Digital Detox) 를 주제로,
사용자의 스마트폰 사용 습관 개선을 돕는 서비스를 목표로 한
마이크로서비스 아키텍처(MSA) 기반 서버 시스템입니다.

NCP Kubernetes 환경을 기반에서,
도메인 분리 · 확장성 · 팀 협업을 고려한 서버 구조를 학습하기 위해
MSA 아키텍처를 적용했습니다.

👉 UnPlug 실제 동작 화면: UnPlug FrontEnd Repo


2. 프로젝트 목표

  • 도메인 중심의 마이크로서비스 설계 경험
  • Kubernetes 환경을 고려한 서버 구조 설계
  • 서비스 간 책임 분리 및 독립성 확보

3. 개발 기간

  • 2025.08 ~ 2025.11

4. 기술 스택

Backend

  • Java 17
  • Spring Boot
  • Spring Security
  • Spring cloud
  • JPA (Hibernate)

Infrastructure

  • Naver Cloud Platform (NCP)
  • Ncloud Kubernetes Service (NKS)
  • Docker
  • NGINX

External

  • OpenAI API

Collaboration

  • Git / GitHub (코드 공유 및 프로젝트 형상 관리)
  • Swagger (API 문서화)
  • Notion (문서 및 협업)
  • Discord / Slack (소통 및 자료 공유)

5. 시스템 아키텍처

전체 구조

본 시스템은 Gateway 기반 단일 진입점 구조를 사용하며,
각 서비스는 독립적인 DB를 가지도록 설계하였습니다.

  • 외부 트래픽은 NGINX를 통해 유입
  • Gateway Service가 요청을 분기
  • AI 기능은 Chatbot Service에서 단독 처리

아키텍처 다이어그램

architecture


6. 서비스 구성

Service Description Status
Gateway Service 요청 라우팅, 공통 인증 처리 ✅ 구현
User Service 회원 관리 ✅ 구현
Chatbot Service AI 챗봇 기능 ✅ 구현
Challenge Service 디지털 디톡스 챌린지 ✅ 구현
Restrict Service 사용 제한 기능 ⏸️ 미구현

👉 각 서비스 상세: 서비스 목록


7. 서비스 설명

🚪 Gateway Service

  • 클라이언트 요청의 단일 진입점
  • 내부 서비스 라우팅
  • 공통 인증/인가 처리

👤 User Service

  • 회원 가입 및 사용자 정보 관리
  • 사용자 스마트폰 사용 습관 진단 및 관리

🤖 Chatbot Service

  • OpenAI API 연동
  • 사용자 상태 기반 챗봇 응답 생성
  • 대화 이력 관리

🎯 Challenge Service

  • 디지털 디톡스 미션 관리
  • 사용자 참여 상태 관리
  • 행동 개선 유도 기능 (미구현)

⏸️ Restrict Service

  • 앱 사용 시간 제한 및 접근 제어 기능 담당 예정
  • 아키텍처 설계만 완료
  • 프로젝트 일정상 구현 미진행

8. 인증 및 요청 흐름 (개념)

  1. Client → Gateway 요청
  2. Gateway → 내부 서비스 라우팅
  3. Chatbot Service → OpenAI API 호출
  4. 각 서비스 → DB 접근

9. 배포 및 CI/CD 현황

적용된 내용

  • Docker 기반 서비스 컨테이너화
  • 이미지 빌드 후 Container Registry 저장
  • Container Registry로부터 pull 후 직접 pod 형태로 배포 (menifest 작성)

미적용 내용

  • SourceDeploy 기반 자동 배포
  • CI/CD 파이프라인 완전 자동화

프로젝트 기간 내 아키텍처 설계와 핵심 기능 구현에 집중하기 위해
배포 자동화는 추후 개선 과제로 설정


10. 관련 Repository

About

현대인을 위한 디톡스 디지털 제한 도구 및 사용성 앱 (backend_msa)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published