As part of a bigger project I want to start by building a chat application. I currently have a social network for the restaurant industry built in Cordova. I am not happy with the feel of it. Therefor I want to rebuild it in React Native. So if this turns out well it can become a much bigger project.
I want to do this project with someone who has already built a chat application in React Native which can be shown to me. I think WhatsApp is the best chat application so if anyone has built something similar that is a great advantage. Just like in their app it will be important that I can send messages to multiple recipients, as well as groups.
The chat shall be able to handle these different types:
Multiple recipients - I select several people and a thread then exists for these recipients entire communication
Open group - groups that could be called e.g "Restaurant X". Administrator of the group can add and remove participants from the group and the participants can see all (but ONLY those) messages that were sent while he was part of the group. So if he leaves or is removed from the group he can still see the history of messages that were sent in his period, but won't see any future messages.
Closed group - All messages are visible to all in the group while they are part of the group, but once he leaves (or is removed) from the group he can't see the group or any messages.
For info: I run one of the leading table management systems in my country. So many restaurants are connected to my network. I see that this chat system can be used for two other areas that will make this chat even more powerful:
Queries about reservation - A guest can not chat with the restaurant to ask for a table, but if they have a reservation for 4 people and wonder if it is ok to change to 5 guests, then in the booking confirmation page we can add a message input box at the bottom. Each booking will then be a "user" that can send a chat message to a group (the restaurant).
Internal messages within restaurants - we have several big restaurant groups with a centralised booking department. Sometimes they quickly want to contact the staff in the restaurant and they call and sms the restaurant. It is better if they could chat to them and messages then appear in the booking system.
So the chat will not only be available in this React Native app. There will be multiple other user possibilities. This is outside the scope of this first project. I am now looking to find a brilliant React Native coder that can make this come to life.
Attached is the design I want now. It can be changed if you have improvements that I accept, but at least it is a start and makes project clear - showing what I expect. Apart from the chat shown here a login to our platform will be required and I will then provide the Api to the login.