
Hello Appwriters,
I want to implement a chat feature in my app. I will describe the scenario down below.
- 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.
- After you start the chat, you can access that chat from a ChatList screen.
- 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"
Hi

- 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.
- 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.
- 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.
- 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.
- 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.
Recommended threads
- Database DeleteDocuments triggered via D...
Running self hosted 1.7.4. Have a dart cleanup function that deletes stale documents from a collection. Recently updated the function to use DeleteDocuments ins...
- Blob column?
Hi, I'm looking to use yjs/hocuspocus, and appwrite as the backend store, but I'm not finding a way to create a blob column in the database. Is there a way arou...
- Runtime secret not found. Please re-crea...
Functions aren't working for my project suddenly, They worked fine for the past few weeks and were also working 15-20 minutes ago.
