# Vasu Jain | ~5 years - Very basic de design, struggles with writing queries. - Please pass Auth Service | 3P integrations # Question 1: Chat db design - User service. - Chat service - 1<>1 chat - text message - user:message = 1:10000 - list of conversations, sorted, paginated. - list of message, paginated, sorted. entities: user text_message conversation relations: user can chat with another user user can generate a text message message is a part of a conversation user -> multiple conversation conversation -> multiple users user - user : user_id , name , ph , message : msg_id , text, user_id(fk), conversation_id(fk) , created_at conversation : conversation_id , name(op) , created_at, updated_at user_conversations table: user_id, conversation_id user_conversations: user_id: 1 | conversation_id : 1 user_id: 1 | conversation_id : 2 user_id select * from user_conversations where user_id = 1; select * from conversation where conversation_id in [] select c.conversation_id, c.name , c.created_at, c.updated_at FROM conversation c JOIN user_conversations uc ON c.conversation_id = uc.conversation_id WHERE user_id = 1 ORDER BY c.created_at user 1 -> online : user 2 open app -> user1 is online