From 7853e856e9473b5d53a02f08e158e0a10e9d0dfb Mon Sep 17 00:00:00 2001 From: syc0123 Date: Mon, 30 Mar 2026 18:37:14 +0900 Subject: [PATCH] =?UTF-8?q?[RAPID]=20PCC=20=EC=B2=B4=ED=81=AC=EB=A6=AC?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=20(?= =?UTF-8?q?=EA=B3=B5=EC=A0=95=2090%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- docs/yc/MSN[체크]-메신저기능.md | 72 ++++++++++++++++----------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/docs/yc/MSN[체크]-메신저기능.md b/docs/yc/MSN[체크]-메신저기능.md index 50ae06d4..b35908e6 100644 --- a/docs/yc/MSN[체크]-메신저기능.md +++ b/docs/yc/MSN[체크]-메신저기능.md @@ -1,49 +1,49 @@ # MSN[체크] 메신저 기능 개발 -## 공정 상태: 0% +## 공정 상태: 90% (1차 구현 완료, 2차 테스트 대기) --- ## 구현 체크리스트 ### Phase 1: DB & 백엔드 기반 -- [ ] `db/migrations/messenger_tables.sql` 작성 및 실행 -- [ ] `backend-node/src/types/messenger.ts` 타입 정의 -- [ ] `backend-node/src/services/messengerService.ts` 구현 - - [ ] getRooms (내 채팅방 목록) - - [ ] createRoom (DM / 그룹 / 채널) - - [ ] getMessages (메시지 히스토리, 페이지네이션) - - [ ] sendMessage - - [ ] markAsRead - - [ ] getCompanyUsers (사용자 목록) - - [ ] addReaction / removeReaction -- [ ] `backend-node/src/controllers/messengerController.ts` 구현 -- [ ] `backend-node/src/routes/messengerRoutes.ts` 구현 -- [ ] `backend-node/src/config/multerMessengerConfig.ts` 구현 (파일 업로드) -- [ ] `backend-node/src/socket/messengerSocket.ts` 구현 - - [ ] JWT 인증 미들웨어 - - [ ] join_rooms 이벤트 - - [ ] send_message 이벤트 - - [ ] message_read 이벤트 - - [ ] typing_start / typing_stop 이벤트 - - [ ] add_reaction 이벤트 - - [ ] 온라인 상태 관리 (connect / disconnect) -- [ ] `backend-node/src/app.ts` Socket.IO 초기화 및 라우트 등록 +- [x] `db/migrations/messenger_tables.sql` 작성 및 실행 +- [x] `backend-node/src/types/messenger.ts` 타입 정의 +- [x] `backend-node/src/services/messengerService.ts` 구현 + - [x] getRooms (내 채팅방 목록) + - [x] createRoom (DM / 그룹 / 채널) + - [x] getMessages (메시지 히스토리, 페이지네이션) + - [x] sendMessage + - [x] markAsRead + - [x] getCompanyUsers (사용자 목록) + - [x] addReaction / removeReaction +- [x] `backend-node/src/controllers/messengerController.ts` 구현 +- [x] `backend-node/src/routes/messengerRoutes.ts` 구현 +- [x] `backend-node/src/config/multerMessengerConfig.ts` 구현 (파일 업로드) +- [x] `backend-node/src/socket/messengerSocket.ts` 구현 + - [x] JWT 인증 미들웨어 + - [x] join_rooms 이벤트 + - [x] send_message 이벤트 + - [x] message_read 이벤트 + - [x] typing_start / typing_stop 이벤트 + - [x] add_reaction 이벤트 + - [x] 온라인 상태 관리 (connect / disconnect) +- [x] `backend-node/src/app.ts` Socket.IO 초기화 및 라우트 등록 ### Phase 2: 프론트엔드 컴포넌트 -- [ ] `frontend/contexts/MessengerContext.tsx` (전역 상태) -- [ ] `frontend/hooks/useMessengerSocket.ts` (Socket.IO 연결 관리) -- [ ] `frontend/hooks/useMessenger.ts` (채팅방/메시지 React Query) -- [ ] `frontend/components/messenger/UserAvatar.tsx` (프로필 이미지 / 이름 첫 글자) -- [ ] `frontend/components/messenger/MessengerFAB.tsx` (플로팅 버튼 + 배지) -- [ ] `frontend/components/messenger/MessengerModal.tsx` (메인 모달 컨테이너) -- [ ] `frontend/components/messenger/RoomList.tsx` (채팅방 목록 + DM/그룹/채널 탭) -- [ ] `frontend/components/messenger/ChatPanel.tsx` (채팅 영역) -- [ ] `frontend/components/messenger/MessageItem.tsx` (메시지 + 리액션 + 스레드 버튼) -- [ ] `frontend/components/messenger/MessageInput.tsx` (입력창 + 파일 + 이모지 + 멘션) -- [ ] `frontend/components/messenger/NewRoomModal.tsx` (방 생성 모달) -- [ ] `frontend/components/messenger/MessengerSettings.tsx` (토스트 알림 on/off 등) -- [ ] `frontend/app/(main)/layout.tsx` MessengerProvider + MessengerFAB 추가 +- [x] `frontend/contexts/MessengerContext.tsx` (전역 상태) +- [x] `frontend/hooks/useMessengerSocket.ts` (Socket.IO 연결 관리) +- [x] `frontend/hooks/useMessenger.ts` (채팅방/메시지 React Query) +- [x] `frontend/components/messenger/UserAvatar.tsx` (프로필 이미지 / 이름 첫 글자) +- [x] `frontend/components/messenger/MessengerFAB.tsx` (플로팅 버튼 + 배지) +- [x] `frontend/components/messenger/MessengerModal.tsx` (메인 모달 컨테이너) +- [x] `frontend/components/messenger/RoomList.tsx` (채팅방 목록 + DM/그룹/채널 탭) +- [x] `frontend/components/messenger/ChatPanel.tsx` (채팅 영역) +- [x] `frontend/components/messenger/MessageItem.tsx` (메시지 + 리액션 + 스레드 버튼) +- [x] `frontend/components/messenger/MessageInput.tsx` (입력창 + 파일 + 이모지 + 멘션) +- [x] `frontend/components/messenger/NewRoomModal.tsx` (방 생성 모달) +- [x] `frontend/components/messenger/MessengerSettings.tsx` (토스트 알림 on/off 등) +- [x] `frontend/app/(main)/layout.tsx` MessengerProvider + MessengerFAB 추가 ---