我的基本想法是构建一个基于Web的聊天应用程序。我已经通过Internet检查了许多数据库结构的要求,得出的结论是,有很多解决方案。
所以这是我认为的数据库结构(但我很确定它不是100%正确或至少可以改进(
表用户:
id |用户名|电子邮件|create_at |更新_at
表Chat_rooms
id |ROOM_TYPE |create_at |更新_at
表:room_members
id |ROOM_ID |user_ids(以序列化形式(
表:消息
id |ROOM_ID |sender_id |消息|create_at |更新_at
表:接收者
id |message_id |receiver_id |read_at
有3种类型的聊天:
i(私人聊天 - 两个用户之间的聊天
- 用户将选择另一个用户开始与他/她聊天
ii(组聊天 - 一组用户之间的聊天
- 用户将将其他用户添加到房间中以启动组聊天
iii(公共聊天 - 所有用户之间的聊天
- 一个开放的聊天室,任何人都可以加入并发送消息
这就是它的工作方式:
我登录到网站,重定向到仪表板页面。在该页面上,我有3个选项来开始聊天,如上所述。
注意:
1(如果用户之间存在以前的聊天,则一旦我开始聊天(与Facebook非常相似(,应立即显示 - 这适用于所有三种类型的聊天
2(我想拥有一个功能,该功能说当特定用户读取消息时。
3(我想尽可能地保持它的未来增强功能
谢谢
是的,此DB结构可用于制作alpha版本。您可以根据需要进行一些小的更改。