오늘은 할래? 프로젝트 채팅구현이 마무리되는 시점에서 어떠한 부분이 더 필요한지에 대해 고민해보고 적어보려한다.
우선 지금까지 구현된 채팅 api를 살펴보자면 다음과 같다.
위와같이 현재 구현이 완료된 api를 정리 해보았고 더 필요한 점이 어떤것인 생각해보았다.
채팅방 혼자 있을때 사용가능 유무
현 프로젝트에선 게시물이 생성되는 동시에 채팅방 데이터도 업데이트 되면서 모집자는 바로 채팅방 리스트가 뜨게 된다.
이점에서 채팅방에는 혼자 있는 상태로 이때 채팅기능을 유지를 할지 다른 사용자가 들어온 후 2명 이상의 데이터가 테이블에 존재 할때 채팅기능을 활성화 할지에 대해 생각해 보았다.
모집자가 게시글을 통해 모집글을 올린 후 혼자 채팅방에서 채팅을 칠 필요는 없다고 판단해 채팅방에 속한 유저를 알 수 있는 테이블에서 해당 테이블에 속한 유저의 수가 2명 이상일 때 채팅방 테이블의 활성화 필드를 false 에서 true로 변경 시켜 게시글을 처음 생성했을 때는 모집자도 채팅방 리스트에 해당 채팅방을 보여주지 않고 2명 이상이 되었을 때 채팅방 리스트에 해당 채팅방을 보여주는 것이 좋다고 판단했다.
이를 위해선 처음 채팅방이 생성되었을 때의 활성화 필드는 false로 변경 하고, 채팅방 사용자 추가 기능 api에서 사용자가 추가되었을때 채팅방에 속한 유저를 조회후 2명이상이면 true로 변경해주는 작업이 필요할듯 하다.
채팅방 비활성화 기준
채팅방 비활성화 기준은 채팅방이 항상 활성화 상태이면 채팅방 수는 줄지 않을 것이고 서버에서 부담이 있을 수 있으니 유저가 채팅방에 접속 할 수 있는 채팅방의 리스트를 제한 하는 것으로 채팅방 테이블중 활성화 필드를 true에서 false로 변경하느 기준이 될것 같다.
모집자가 만남 완료 즉 채팅방을 통해 의견을 나누고 만난 상태에서 게시글에서 만남 완료 버튼을 클릭하면 게시글도 모집완료 상태가 되고 채팅방도 비활성화 상태가 되는 방법이 있을것같다.
또한 해당 채팅방의 활성화 시간을 미리 지정해 시간이 경과하면 활성화 필드를 false로 하는 방법이 있을것같다.
디테일한 채팅방 기능을 위해선 두가지 api가 모두 필요할것 같고 팀 회의 후 구현을 진행 하도록 해야겠다.