Skip to content

Latest commit

 

History

85 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧩 MUO – Musinsa Offline Chat Service (MVP)

image

무신사 오프라인 스토어 직원 간 실시간 소통과 상품 요청 처리를 위한 내부 전용 채팅 서비스


📘 프로젝트 개요

MUO(Musinsa Offline Chat Service)는 무신사 오프라인 스토어에서 근무하며 경험한
매장 간 비효율적인 커뮤니케이션 문제를 해결하기 위해 기획된 개인 프로젝트입니다.

매장 내 직원들이 전화나 무전기 대신,
실시간 채팅으로 상품 요청과 응답을 주고받을 수 있도록 설계된 MVP(Minimum Viable Product) 버전입니다.


🎯 프로젝트 목표

  • 매장 내 직원 간 실시간 커뮤니케이션 구축
  • 상품 요청 → 응답 과정을 메시지 기반으로 구조화
  • 확장 가능한 실시간 서버 아키텍처 설계 (Redis Pub/Sub)

⚙️ 기술 스택

구분 기술
Language Java 17
Framework Spring Boot
Real-time STOMP, WebSocket
Message Broker Redis Pub/Sub
Build Tool Gradle
Infra (예정) AWS EC2, Docker
DB (MVP) In-memory or Redis-based

🧠 주요 기능 (1차 MVP)

기능 설명
💬 실시간 채팅 STOMP over WebSocket 기반 메시지 송수신
🏠 채팅방 관리 직급/팀 단위 채팅방 생성 및 참여 (ChatRoom, ChatParticipant)
📦 상품 요청 처리 MessageComplete 엔티티를 통해 요청/응답 상태 관리
🔔 실시간 알림 Redis Pub/Sub 구조로 새로운 메시지 즉시 반영
👤 사용자 역할 구분 role(STAFF, MANAGER, ADMIN)에 따른 접근 제어

🏗️ IA 설계

image

🕸️ ERD 설계

image

💡 주요 화면 구성

1️⃣ 로그인 / 회원가입 화면

image

본인의 직급과 근무 층을 선택하여 회원가입 및 로그인 진행

  • 로그인 시 직급(Role: STAFF / MANAGER / ADMIN)과 근무층 선택
  • 인증 성공 시 WebSocket 연결 생성
  • 추후 JWT 기반 인증으로 확장 예정

2️⃣ 채팅방 목록 화면

image

직원이 참여 중이거나 참여 가능한 채팅방을 확인하고 입장

  • 내 채팅방 / 참여 가능한 채팅방 분리 표시
  • Redis 구독 기반으로 실시간 갱신
  • 각 방의 마지막 메시지 및 읽지 않은 메시지 표시

3️⃣ 채팅방 생성 화면

image

새로운 채팅방 생성 – 관리자 직급만 생성 가능

  • ChatRoomType(ROLE, TEAM, STORE, PRIVATE)에 따라 방 유형 선택
  • 초기 참여자 선택 가능
  • 생성 후 자동 입장 또는 목록으로 이동

4️⃣ 채팅방 상세 화면

image

실시간 채팅 + 상품 요청/응답을 주고받는 핵심 화면

  • STOMP 기반 실시간 메시지 송수신
  • 상품 요청(REQUEST) 메시지 발송 및 처리(COMPLETE) 상태 변경
  • 메시지별 상태 표시 (요청 대기 / 완료 / 거절)
  • Redis Pub/Sub으로 모든 참여자에게 실시간 반영

5️⃣ 나의 정보 화면

image

사용자 정보 표시 (이름, 역할, 근무 층)

  • 사용자 프로필 및 로그인 정보 표시
  • 로그아웃 및 설정 관리
  • 향후 알림 설정 및 프로필 수정 기능 추가 예정

About

[MOU - MVP 1] 무신사 오프라인 스토어 직원 서비스

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages