Я создаю систему, в которой я планирую позволить пользователю А создать специальную ссылку в чате, чтобы он / она мог общаться с пользователем Б. Это модель чата 1-1.Схема моей модели ниже.Мне нужно знать, практично ли это или можно ли его улучшить.
table messages
chatid; {fk}
message_id; {pk}
timestamp;
sender;
table chat
chatid; {pk}
userA;
userB;
timestamp;
Вот последовательность действий сценария:
- Пользователь А намерен общаться с Пользователем Б.
- Пользователь A переходит на страницу создания сеанса чата.
- Пользователь A выбирает пользователя B из списка.
- Пользователь A генерирует сеанс чата / app / chatid /007
- Пользователь A копирует и вставляет URL-адрес, чтобы отправить его пользователю B через входящие сообщения.
- Пользователь A и пользователь B договариваются о времени, когда они хотят общаться
Я знаю, немного странно, потому что я не знаю, как реализовать систему, в которой пользователь проверяется на онлайн / офлайн, хотя вы могли бы зайти, если у вас есть идеи.
- Пользователь A открываетURL чата на hh; mm и пользователь B.
- Они начинают общаться.
- Страница не перезагружается, и они весело общаются.
Конец.Жду ваших ответов.
Отредактировано Asker
Я искал эту схему.Я не знаю, как бы я добавил его, чтобы показать, что пользователь a / user b находится в сети / не в сети;возможно последняя активностьВы говорите.
tbl_chat
-------------
chat_id (pk)
user_id_a (fk)
user_id_b (fk)
timestamp
tinyint;
tbl_msg
-------------
message_id (pk)
chat_id (fk)
user_id_sender (fk)
message_body
timestamp
добавил tinyint;чтобы tbl_chat, чтобы, когда пользователь A щелкает по «убить чат», он равен 1, по умолчанию tinyint = 0;Так что убивает чат.