1. 회원 관리

URL Method Request Parameter 응답 모델 설명
/user/signup GET userCreateForm : 회원가입 폼에 입력한 값 - 회원가입 폼 렌더링
/user/signup POST userCreateForm : 회원가입 폼에 입력한 값
BindingResult - 회원가입 요청
/user/login GET - - 로그인 폼 렌더링
Spring Security
/user/find/password GET - - 비밀번호 찾기 폼 렌더링
/user/setting GET Model
Principal user : 유저 정보 계정 설정 페이지 렌더링
/user/upload/profile POST file (MultipartFile) : 업로드한 프로필 이미지
Model
Principal user : 유저 정보 유저 프로필 이미지 변경 요청
/user/username/change POST newUserName (String) : 새로운 유저 이름
Principal
CsrfToken user : 유저 정보 유저 이름 변경 요청
/user/useremail/change POST newUserEmail (String) : 새로운 유저 이메일
Principal
Model
RedirectAttributes user : 유저 정보 유저 이메일 변경 요청
/user/userpassword/change POST userPassworkd (String) : 현재 유저 비밀번호
newUserPassword (String) : 새 유저 비밀번호
Principal
Model user : 유저 정보 유저 비밀번호 변경 요청
이메일로 임시 비밀번호 전송
/user/account/delete POST Principal - 유저 계정 삭제 요청
/alarm/workspace-count GET Principal - 메인 화면에 워크스페이스 별알람 수 출력

2. 워크스페이스

URL Method Request Parameter 응답 모델 설명
/inedx GET Principal
Model user: 유저 정보
workspaces : 유저가 포함된 워크스페이스 리스트
alarmCountMap : 워크스페이스 별 알람 수 맵
AllCsChatrooms : 모든 1 : 1 채팅방 리스트 ( 관리자 입장 ) 메인 화면 페이지 렌더링
/{workspaceDomain} GET workspaceDomain : 유저가 설정한 워크스페이스 도메인 - 유저가 설정한 워크 스페이스 도메인으로
접근 시 현재 워크 스페이스 페이지 렌더링
/workspace/create GET workspaceCreateForm : 워크스페이스 등록 시 입력값
Principal
Model user: 유저 정보
workspaceCreateForm : 워크스페이스 생성 시 입력 폼 워크 스페이스 생성 폼 렌더링
/workspace/create POST workspaceCreateForm : 워크스페이스 등록 시 입력값
Principal
BindingResult - 워크 스페이스 생성 요청
/workspace/{workspaceId} GET workspaceId : 접속할 워크스페이스 고유 Id
Model
Principal user: 유저 정보
workspace : 현재 워크스페이스 정보
members : 현재 워크스페이스 멤버 정보
userChatrooms : 유저가 포함된 채팅방 리스트
folders : 워크 스페이스 내 채팅방 폴더 리스트
bookmarks : 유저의 즐겨찾기 리스트
bookmarkedChatroomIds : 채팅방 즐겨찾기 ID 리스트
bookmarkedMyChatroomIds : 나와의 채팅방 즐겨찾기 ID 리스트
bookmarkedMessageIds : 메시지 즐겨찾기 ID 리스트
tasks : 현재 워크 스페이스의 할 일 리스트
mychat : 나와의 채팅방 내 메시지 리스트 workspaceId에 따른 워크 스페이스 렌더링
/workspace/{workspaceId}/mychat/{chatroomId} GET workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속할 채팅방 고유 id
Model
Principal user: 유저 정보
workspace : 현재 워크스페이스 정보
members : 현재 워크스페이스 멤버 정보
userChatrooms : 유저가 포함된 채팅방 리스트
folders : 워크 스페이스 내 채팅방 폴더 리스트
bookmarks : 유저의 즐겨찾기 리스트
bookmarkedChatroomIds : 채팅방 즐겨찾기 ID 리스트
bookmarkedMyChatroomIds : 나와의 채팅방 즐겨찾기 ID 리스트
bookmarkedMessageIds : 메시지 즐겨찾기 ID 리스트
tasks : 현재 워크 스페이스의 할 일 리스트
notifications : 현재 워크 스페이스의 공지 리스트
mychat : 나와의 채팅방 내 메시지 리스트
alarm : 현재 워크스페이스 내 알람 리스트 현재 워크 스페이스 내 나와의 채팅방 렌더링
/workspace/{workspaceId}/{chatroomId} GET workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속할 채팅방 고유 id
Model
Principal user: 유저 정보
workspace : 현재 워크스페이스 정보
members : 현재 워크스페이스 멤버 정보
chatroomMembers : 현재 채팅방 멤버 정보
userChatrooms : 유저가 포함된 채팅방 리스트
folders : 워크 스페이스 내 채팅방 폴더 리스트
bookmarks : 유저의 즐겨찾기 리스트
bookmarkedChatroomIds : 채팅방 즐겨찾기 ID 리스트
bookmarkedMyChatroomIds : 나와의 채팅방 즐겨찾기 ID 리스트
bookmarkedMessageIds : 메시지 즐겨찾기 ID 리스트
tasks : 현재 워크 스페이스의 할 일 리스트
notifications : 현재 워크 스페이스의 공지 리스트
mychat : 나와의 채팅방 내 메시지 리스트
messages : 현재 채팅방 내 메시지 리스트
alarm : 현재 워크스페이스 내 알람 리스트 workspaceId와 chatroomId에 따른 워크 스페이스 렌더링
workspace/{workspaceId}/
foldercreate POST workspaceId : 접속된 워크스페이스 고유 id
folder_name : 생성할 폴더명
Principal - 폴더 생성 요청
workspace/{workspaceId}/chatroomcreate POST workspaceId : 접속된 워크스페이스 고유 id
folder_name : 생성된 폴더명
chatname : 생성할 채팅방명
isPrivate : 생성할 채팅방 접근
description : 생성할 채팅방 설명
Principal - 채팅방 생성 요청
/workspace/{workspaceId}/{chatroomId}/message/
{messageId}/delete POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
messageId - 채팅방 내 메세지 삭제 요청
/workspace/{workspaceId}/{chatroomId}/
messageUpdate POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
messageId : 수정할 메세지 고유 id
newContent : 새 메세지 내용 - 채팅방 내 메세지 수정 요청
/workspace/{workspaceId}/{chatroomId}/
chatAnswerAdd/
{messageId} POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
messageId : 답글달 메세지 고유 id
answerContent : 답글달 내용
Principal - 채팅방 내 메시지 등록 요청
WebSocket
/workspace/{workspaceId}/{chatroomId}/message/
upload POST file (MultipartFile)
messageId : 파일 올릴 메시지 고유 id
chatroomId : 올라갈 메세지 id
workspaceId : 접속된 워크스페이스 고유 id
Principal - 채팅방 내 파일 업로드 요청
/workspace/{workspaceId}/{chatroomId}/leave POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
Principal - 채팅방 탈퇴 요청
/workspace/{workspaceId}/{chatroomId}/delete POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id - 채팅방 삭제 요청

3. 워크스페이스 사이드바

URL Method Request Parameter 응답 모델 설명
/workspace/{workspaceId}/{chatroomId}/side/{taskId} GET workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
taskId : 할 일 id
Principal
Model user: 유저 정보
workspace : 현재 워크스페이스 정보
members : 현재 워크스페이스 멤버 정보
chatroomMembers : 현재 채팅방 멤버 정보
userChatrooms : 유저가 포함된 채팅방 리스트
folders : 워크 스페이스 내 채팅방 폴더 리스트
bookmarks : 유저의 즐겨찾기 리스트
bookmarkedChatroomIds : 채팅방 즐겨찾기 ID 리스트
bookmarkedMyChatroomIds : 나와의 채팅방 즐겨찾기 ID 리스트
bookmarkedMessageIds : 메시지 즐겨찾기 ID 리스트
tasks : 현재 워크 스페이스의 할 일 리스트
notifications : 현재 워크 스페이스의 공지 리스트
mychat : 나와의 채팅방 내 메시지 리스트
messages : 현재 채팅방 내 메시지 리스트
alarm : 현재 워크스페이스 내 알람 리스트 워크 스페이스 내 할 일 페이지 렌더링
/workspace/{workspaceId}/{chatroomId}/side/modifyChat GET workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
Principal
Model user: 유저 정보
workspace : 현재 워크스페이스 정보
members : 현재 워크스페이스 멤버 정보
chatroomMembers : 현재 채팅방 멤버 정보
userChatrooms : 유저가 포함된 채팅방 리스트
folders : 워크 스페이스 내 채팅방 폴더 리스트
bookmarks : 유저의 즐겨찾기 리스트
bookmarkedChatroomIds : 채팅방 즐겨찾기 ID 리스트
bookmarkedMyChatroomIds : 나와의 채팅방 즐겨찾기 ID 리스트
bookmarkedMessageIds : 메시지 즐겨찾기 ID 리스트
tasks : 현재 워크 스페이스의 할 일 리스트
notifications : 현재 워크 스페이스의 공지 리스트
mychat : 나와의 채팅방 내 메시지 리스트
messages : 현재 채팅방 내 메시지 리스트
alarm : 현재 워크스페이스 내 알람 리스트 채팅방 내 채팅 수정 페이지 렌더링
/workspace/{workspaceId}/{chatroomId}/side/message/{messageId} GET workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
messageId : 답글 볼 메시지 고유 id
Principal
Model user: 유저 정보
workspace : 현재 워크스페이스 정보
members : 현재 워크스페이스 멤버 정보
chatroomMembers : 현재 채팅방 멤버 정보
userChatrooms : 유저가 포함된 채팅방 리스트
folders : 워크 스페이스 내 채팅방 폴더 리스트
bookmarks : 유저의 즐겨찾기 리스트
bookmarkedChatroomIds : 채팅방 즐겨찾기 ID 리스트
bookmarkedMyChatroomIds : 나와의 채팅방 즐겨찾기 ID 리스트
bookmarkedMessageIds : 메시지 즐겨찾기 ID 리스트
tasks : 현재 워크 스페이스의 할 일 리스트
notifications : 현재 워크 스페이스의 공지 리스트
mychat : 나와의 채팅방 내 메시지 리스트
messages : 현재 채팅방 내 메시지 리스트
replies : 해방 채팅방 내 메시지 답글 리스트
alarm : 현재 워크스페이스 내 알람 리스트 채팅방 내 메시지 답글 보기 페이지 렌더링
/workspace/{workspaceId}/{chatroomId}/chatroomModify POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
chatroomName : 새 채팅방명
description : 새 채팅방 설명
Principal - 채팅방 정보 수정 요청
/workspace/{workspaceId}/{chatroomId}/taskcreate POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
content : 등록할 할 일 내용
description
startDate
: 등록할 할 일 시작일
endDate : 등록할 할 일 마감일
Principal - 채팅방 내 할 일 등록 요청
/workspace/{workspaceId}/{chatroomId}/side/{taskId}/modify POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
taskId : 수정할 할 일 고유 id
status : 수정할 할 일 진행률
Principal - 채팅방 내 할 일 진행률 업데이트 요청
workspace/{workspaceId}/
{chatroomId}/
notificationcreate POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
content : 등록할 공지사항 내용
Principal - 채팅방 내 공지사항 등록 요청
/workspace/{workspaceId}/{chatroomId}/notification/
delete POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id - 채팅방 내 공지사항 삭제 요청
/workspace/bookmark/
toggle @ResponseBody
POST payload : 북마크할 종류와 추가 삭제 여부
Principal - 즐겨찾기 등록 및 삭제 요청
/{workspaceId}/
organization GET workspaceId : 접속된 워크스페이스 고유 id
Principal
Model user: 유저 정보
워크스페이스 조직도 렌더링
현재 로그인 된 ( 활동 중 ) 멤버 별도 표시
/{workspaceId}/alarm GET workspaceId : 접속된 워크스페이스 고유 id
Principal
Model user: 유저 정보
maxAlarmId : 유저의 마지막 알람 Id
alarmList : 유저의 알람 리스트
workspaceId 알람 페이지 렌더링
알람 페이지 열람 시 모든 알람 읽음 처리
/{workspaceId}/alarm/mark @ReponseBody
GET workspaceId : 접속된 워크스페이스 고유 id
Principal
Model - 알람 읽음 처리 요청

채팅방

URL Method Request Parameter 응답 모델 설명
/chat.sendMessage Message
Transactional message (ChatMessage) : 보낸 메시지 객체 - 채팅방 메세지 전송 요청
WebSocket
/chat.sendMymessage Message message (ChatMessage) : 보낸 메시지 객체 - 나와의 채팅방 메세지 전송 요청
WebSocket

1 : 1 고객센터

URL Method Request Parameter 응답 모델 설명
/cs GET Principal
Model user : 유저 정보 고객센터 페이지 렌더링
WebSocket
/cs/chat/{csChatroomId} GET csChatroomId : 1 : 1 채팅방 고유 id
Principal
Model user : 유저 정보
messages : 1 : 1 채팅방 메시지 리스트
csChatroomId : 1 : 1 채팅방 Id 1 : 1 고객센터 채팅방 렌더링
WebSocket
/chat.sendCsMessage Message csMessage (CsChatMessage) : 보낸 메시지 객체 - 1 : 1 고객센터 채팅방 메시지 전송 요청
WebSocket

이메일 전송 ( 멤버 초대 및 임시 비밀번호 )

URL Method Request Parameter 응답 모델 설명
/mailSend @ResponseBody
POST mail : 보낼 메일 객체 - 이메일 전송 요청
{workspaceId}/{chatroomId}/invite/chat/member GET workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
Principal
model user : 유저 정보
workspaceId : 워크 스페이스 Id
chatroomId : 채팅방 Id
members : 워크 스페이스 멤버 리스트 워크 스페이스 내 채팅방에
멈버 초대 페이지 렌더링
/workspace/chatroom/
invite/{chatroomId}/{token} GET token : 이메일 인증 토큰
chatroomId : 접속된 채팅방 고유 id
Principal - 채팅방 초대 이메일 토큰 추출 후
워크 스페이스 페이지 렌더링
/{workspaceId}/
{chatroomId}/invite POST workspaceId : 접속된 워크스페이스 고유 id
chatroomId : 접속된 채팅방 고유 id
userIds : 보낼 유저 id 리스트 - 채팅방에 멤버 초대 요청
/{workspaceId}/invite GET workspaceId : 접속된 워크스페이스 고유 id
Principal
Model user : 유저 정보
workspaceId : 워크 스페이스 Id 워크 스페이스 초대 페이지 렌더링
/workspace/invite/
{workspaceId}/{token} GET token : 이메일 인증 토큰
workspaceId : 접속된 워크스페이스 고유 id
Principal
Model user : 유저 정보 워크 스페이스 초대 이메일 토큰
추출 후 워크 스페이스 페이지 렌더링
/{workspaceId}/invite POST workspaceId : 접속된 워크스페이스 고유 id
email - 워크 스페이스에 멤버 초대 요청

프로젝트 관리