기존 자기주도 프로젝트로 실시간 채팅 어플리케이션은 User 정보만 Mysql에서 관리하고 나머지 세션, 채팅방, 채팅 메시지는 redis에서 관리하는 구조로 코드를 짰었다.
리팩토링 사항
추후 개발
채팅 어플리케이션 erd 구조
회원-채팅방
의 관계는 N:N
으로 확립되었으므로, 채팅 참여라는 Join 테이블을 만들어 회원-채팅참여-채팅방
의 관계를 1:N:1
로 변경해주었다.
이렇게 구성해주면 채팅방 입장에서는 1번 채팅방에 참여한 회원들의 목록
을 볼 수 있고, 회원 입장에서는 1번 회원이 참여한 채팅방의 목록
을 확인할 수 있다.