• Home
  • About
    • lahuman photo

      lahuman

      열심히 사는 아저씨

    • Learn More
    • Facebook
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

채팅 서비스 만들기 설계 정리

15 Oct 2023

Reading time ~1 minute

상품을 기준으로 사용자간 채팅을 할 수 있도록 설계 합니다.

설계

상품을 확인하고, 판매자에게 채팅을 요청 했을때 아래와 같은 동작을 합니다.

sequenceDiagram; actor 구매자; 구매자->>+서버: 상품 구매 채팅; activate 서버; Note right of 서버: 상품 판매 여부 및 사용자 검수; actor 판매자; 서버->>+판매자: 채팅 메시지 전달; deactivate 서버; 서버->>-구매자: 채팅 메시지 전달;

상품에 대한 검수를 아래과 같이 처리 하고 나면, 채팅을 전달합니다.

graph TD; A[상품 판매 채팅 검수] --> B{채팅방 존재}; B -->|Y| H; B -->|N| D{상품 & 판매자 & 구매자 확인}; D --> |Y| F(채팅방 생성); D --> |N| E[오류 메시지 전달]; F --> H(채팅 전달);

채팅방이 존재 하지 않고, 상품이 판매 완료인 경우 새로운 채팅방을 생성할 수 없습니다.

테이블 구조

채팅방명은 상품ID-판매자ID-구매자ID로 유일한 값을 가지게 됩니다.

또한 마지막 판매자 구매자의 마지막 읽은 채팅ID를 가지고 있습니다.

샘플을 모두 적성하였으나, 코드가 너무 번잡 스러워서 정리후 올릴 예정입니다!



chatting Share Tweet +1