# Sutirtha Rej | R2 | 4+ years - NOt satisfactory db design solution for chat system. Not scalable. - PLease reject # Question 1: Chat System - 1<>1 chat - text message - when was the user last online schema - user - id, name, etc ----------------------------- assochiated_chat name datatype id string chat_content. [{ chat_user_id - string chat_content - "" timestamp. - }, {}]json ----------------------------- chats name. datatype user_from id (string) user_to. id (string) chat assochiated_chat_id (foreign key) is_active. boolean last_message string created_at timestamp updated_at. timestamp first page - GET (chats) -> then u get the chat_id GET (assochiated_chat) -> chat_content chat_content = [ { chat_user_id - string chat_content - "" timestamp. - }, {} ] s3 (old content) media content (s3 / blob storage) API - ---------- GET - /preview-chats headers - auth key query on chat- where user_from: user_id, is_active: true GET - /chat headers - auth key query-params = chat_id query on assochiated_chat- where id: chat_id POST - /chat headers - auth key body = { content - "" user - id string } logic -