Open mightydeveloper opened 9 years ago
만약에 그룹에 멤버 추가 제거를 고려한다면 그룹에 추가된 사용자들의 정보에 '이 그룹의 몇 번째 메시지부터 읽을 권한이 있다' 라는 필드를 추가해야 할 거에요. 그래야 나중에 추가된 그룹 사용자가 이전 메시지를 못 읽겠죠?
수 년 전에 만든거라 도움이 될지는 모르겠지만 한번 참고해보시면 DB설계에 도움이 될까 해서 남겨봅니다.
https://github.com/leeopop/Talaria/blob/master/resources/scheme.mwb
@leeopop 뭔가 약간 카톡과 슬랙의 중간지점 같은 느낌이랄까... 동일한 사용자 (혹은 그룹) 간의 메시지를 스레드 형식으로 보여줄 예정이라 3. 으로 구현하는게 가장 적합할 것이라고 생각하였습니다 그런데 Group을 어떻게 쿼리해야할지 당장 머리속에 안떠오르네요 음......
코드를 짜다가 몇가지 의문점이 생겼는데요, 일딴 첫번째로, 유저가 어떻게 그룹들을 입력하느냐가 궁금하네요. 그러니까, 유저가 한 필드 안에 닉네임을 comma separated로 넣어서 그룹을 만들어주는걸로 할지, 아니면 아예 그룹을 만들어주는 웹페이지가 따로 있고 여기서 그룹을 생성한 다음 그 그룹으로 메시지를 보내기로 할지 여러 방식이 있는것 같네요.. 두번째로, "단체 메시지" 랑 그룹 메시지를 구별해야할것 같아요. 약간 첫번재 부분이랑 관련되어있기도 한데, 예를들어 제가 광고나 공지를 n 명에게 그냥 보내고 싶으면, 딱히 그룹을 파면 안되잖아요? 위에 썻던
결론적으로는, 제 생각엔 필드에 닉네임을 comma separated로 넣어서 메시지를 보내면 그냥 광고나 공지를 n명에게 뿌리는걸로 구현을 하고, 만약 그룹메시지를 보내고 싶으면 그룹을 만들어주는 웹페이지를 따로 만들고 그룹을 생성하는게 더 좋을것 같네요. 그래야 나중에 그룹별 private board라던지 파일 공유라던지 등등의 group 기능들이 이 기획에 추가적으로 들어간다면 조금 더 확장되기 쉬울 것 같아요.
일단은 이 방향으로 진행을 하겠습니다.
단체 메시지 기능의 경우 DB의 스키마를 바꿔야 합니다. 세가지 구현방법이 있을것 같습니다.
창원이형의 조언으로 3번을 이용해서 구현 할 예정입니다.