본 프로젝트는 디지털 디톡스(Digital Detox) 를 주제로,
사용자의 스마트폰 사용 습관 개선을 돕는 서비스를 목표로 한
마이크로서비스 아키텍처(MSA) 기반 서버 시스템입니다.
NCP Kubernetes 환경을 기반에서,
도메인 분리 · 확장성 · 팀 협업을 고려한 서버 구조를 학습하기 위해
MSA 아키텍처를 적용했습니다.
👉 UnPlug 실제 동작 화면: UnPlug FrontEnd Repo
- 도메인 중심의 마이크로서비스 설계 경험
- Kubernetes 환경을 고려한 서버 구조 설계
- 서비스 간 책임 분리 및 독립성 확보
- 2025.08 ~ 2025.11
- Java 17
- Spring Boot
- Spring Security
- Spring cloud
- JPA (Hibernate)
- Naver Cloud Platform (NCP)
- Ncloud Kubernetes Service (NKS)
- Docker
- NGINX
- OpenAI API
- Git / GitHub (코드 공유 및 프로젝트 형상 관리)
- Swagger (API 문서화)
- Notion (문서 및 협업)
- Discord / Slack (소통 및 자료 공유)
본 시스템은 Gateway 기반 단일 진입점 구조를 사용하며,
각 서비스는 독립적인 DB를 가지도록 설계하였습니다.
- 외부 트래픽은 NGINX를 통해 유입
- Gateway Service가 요청을 분기
- AI 기능은 Chatbot Service에서 단독 처리
| Service | Description | Status |
|---|---|---|
| Gateway Service | 요청 라우팅, 공통 인증 처리 | ✅ 구현 |
| User Service | 회원 관리 | ✅ 구현 |
| Chatbot Service | AI 챗봇 기능 | ✅ 구현 |
| Challenge Service | 디지털 디톡스 챌린지 | ✅ 구현 |
| Restrict Service | 사용 제한 기능 | ⏸️ 미구현 |
👉 각 서비스 상세: 서비스 목록
- 클라이언트 요청의 단일 진입점
- 내부 서비스 라우팅
- 공통 인증/인가 처리
- 회원 가입 및 사용자 정보 관리
- 사용자 스마트폰 사용 습관 진단 및 관리
- OpenAI API 연동
- 사용자 상태 기반 챗봇 응답 생성
- 대화 이력 관리
- 디지털 디톡스 미션 관리
- 사용자 참여 상태 관리
- 행동 개선 유도 기능 (미구현)
- 앱 사용 시간 제한 및 접근 제어 기능 담당 예정
- 아키텍처 설계만 완료
- 프로젝트 일정상 구현 미진행
- Client → Gateway 요청
- Gateway → 내부 서비스 라우팅
- Chatbot Service → OpenAI API 호출
- 각 서비스 → DB 접근
- Docker 기반 서비스 컨테이너화
- 이미지 빌드 후 Container Registry 저장
- Container Registry로부터 pull 후 직접 pod 형태로 배포 (menifest 작성)
- SourceDeploy 기반 자동 배포
- CI/CD 파이프라인 완전 자동화
프로젝트 기간 내 아키텍처 설계와 핵심 기능 구현에 집중하기 위해
배포 자동화는 추후 개선 과제로 설정
- GitHub Organization: https://github.com/BridgeON-Team
- UnPlug FrontEnd Repo: https://github.com/BridgeON-Team/unplug
- 서비스 목록: ./services/README.md
