匹配用户Firestore数据库模型



我正在flutter中开发一个移动应用程序,帮助人们与DIY专家建立联系。

该应用程序将需要建议的人与专家联系起来,然后让他们以1:1的方式聊天。例如,A想要管道方面的建议,所以应用程序将他与知道如何管道的B联系起来。

我的数据库模型是使用Firestore来存储用户详细信息和FCM令牌。云功能可向所有专家FCM令牌发送通知(在非专家需要帮助时通知他们(。

这是我迄今为止的模型:

  1. Firestore:Store 2组用户:非专家和专家
  2. 当非应用内专家点击"我需要帮助!"时,将数据库"needhelp"中的非专家字段标记为true
  3. Firebase Cloud函数监听变化,并将FCM发送到数据库中的所有专家FCM令牌
  4. ??当一位应用内专家点击"我可以帮忙!"时,在数据库中创建新的聊天文档
  5. Firestore:创建新的消息文档,存储消息等

我的问题是第4步:当专家在客户端应用程序中点击"我可以帮助"时,如何在新的1:1聊天中匹配和连接专家和非专家。随叫随到,专家客户端应用程序是否应该在Firestore中的文档中设置新值?什么文件?这是什么数据库模型

类似的应用程序是约会应用程序,例如Tinder。有趣的问题:Tinder Firestore会是什么样子?:(

创建聊天室,如下所示:聊天室1、聊天室2、聊天室3。。。。。

如果用户想加入聊天室1应该是空的,所以他会加入这个。

第二个用户想加入,在聊天室1中发现一个用户,所以他加入了聊天室,他们开始聊天

第三个用户经过,发现聊天室1已经满了(里面有两个人(,所以他加入了聊天室2,等待其他人加入,然后模式继续……

最新更新