我正在flutter中开发一个移动应用程序,帮助人们与DIY专家建立联系。
该应用程序将需要建议的人与专家联系起来,然后让他们以1:1的方式聊天。例如,A想要管道方面的建议,所以应用程序将他与知道如何管道的B联系起来。
我的数据库模型是使用Firestore来存储用户详细信息和FCM令牌。云功能可向所有专家FCM令牌发送通知(在非专家需要帮助时通知他们(。
这是我迄今为止的模型:
- Firestore:Store 2组用户:非专家和专家
- 当非应用内专家点击"我需要帮助!"时,将数据库"needhelp"中的非专家字段标记为true
- Firebase Cloud函数监听变化,并将FCM发送到数据库中的所有专家FCM令牌
- ??当一位应用内专家点击"我可以帮忙!"时,在数据库中创建新的聊天文档
- Firestore:创建新的消息文档,存储消息等
我的问题是第4步:当专家在客户端应用程序中点击"我可以帮助"时,如何在新的1:1聊天中匹配和连接专家和非专家。随叫随到,专家客户端应用程序是否应该在Firestore中的文档中设置新值?什么文件?这是什么数据库模型
类似的应用程序是约会应用程序,例如Tinder。有趣的问题:Tinder Firestore会是什么样子?:(
创建聊天室,如下所示:聊天室1、聊天室2、聊天室3。。。。。
如果用户想加入聊天室1应该是空的,所以他会加入这个。
第二个用户想加入,在聊天室1中发现一个用户,所以他加入了聊天室,他们开始聊天
第三个用户经过,发现聊天室1已经满了(里面有两个人(,所以他加入了聊天室2,等待其他人加入,然后模式继续……