Back

Chat Flow Design, ideas.

  • 0
  • Databases
  • Flutter
  • Realtime
  • Cloud
Nuaiman
14 Jul, 2023, 10:11

Hello Appwriters,

I want to implement a chat feature in my app. I will describe the scenario down below.

  1. Chat can only be started from a post. Example - you are scrolling a facebook post and you can starting chatting with the post publisher only. So, bacially in the post there is a button that lets you chat with the postOwner.
  2. After you start the chat, you can access that chat from a ChatList screen.
  3. The chat should have a message seen or unseen feature.

Please help me designing this system, I have been unable to achieve it own my own.

Thankyou and best regards.

TL;DR
1) Use Appwrite's authentication services for user registration and login. Associate user accounts with the chat functionality. 2) Store chat data using Appwrite's Database service. Create a collection for chat messages and related information. 3) Create a new chat room or retrieve an existing one based on the post owner's ID when a user clicks the chat button on a post. 4) Develop a ChatList screen to display ongoing chats. Fetch chat data from Appwrite's Database and display relevant details. 5) Implement a message seen/unseen feature by storing messages with an initial status of "unseen" and updating the status to "seen"
joeyouss
14 Jul, 2023, 12:01

Hi

joeyouss
14 Jul, 2023, 12:03
  1. User Registration and Authentication:
  • Use Appwrite's authentication services to handle user registration and login.
  • Once a user is logged in, you can associate their account with the chat functionality.
  1. Storing Chat Data:
  • Utilize Appwrite's Database service to store chat-related data, such as messages, chat participants, and message status (seen/unseen).
  • Create a collection to store chat messages and related information.
  1. Initiating a Chat from a Post:
  • When a user clicks the chat button on a post, trigger a function in your app that creates a new chat room or retrieves an existing one based on the post owner's ID.
  • Store the necessary information, such as the chat room ID, in your database.
  1. Displaying ChatList:
  • Develop a ChatList screen in your app to display all ongoing chats.
  • Fetch the chat data from Appwrite's Database using appropriate queries or functions.
  • Display the chat rooms and relevant details in the ChatList screen.
  1. Implementing Message Seen/Unseen Feature:
  • When a user sends a message, store it in the chat room's collection with the initial status as "unseen".
  • When the recipient views the message, update its status to "seen" in the database.
  • To keep track of the seen/unseen status, you can utilize a field or attribute in the message document.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more