Suggestion Required: SendBird UIKit with filter channel, users and messages for one application with multiple modules

Hi @Sravan_S @Alex_Preston

On behalf of my company I am using the trial version of SendBird from half of month in our web product. Intention is to ultimately buy the plan once we finalize that SendBird covers all of our requirements.

I used the React.js UIKit along with JavaScript SDK. My company has below requirements from chat app, which is somehow I can failed to achieve with SendBird so far,

  1. Channels must be private for individual module of application along with users and messages.
  2. Individual modules means HR, Finance, Logistics, Sales etc. All using the same application but have manage the access level, so one user can switch into multiple allowed areas(modules) without sign out.
  3. When a user part of more then one modules, the chat he/she did in one area should not be mixed/sync into other even he/she start another conversation with the same user in that area.
    4.If a user A has more then one area (modules) access but a chat which is done in one user B in a specific area should not be synced/shown in chat when user A is switched the area where user A has access but not B. No chat notification should be popped in chat board.
  4. Push notification in case when user is online but not on the chat page window but doing work on other web page. If a message receive from any users or in channel should be notified.
  5. Customization of UIKit at some level, so the Chat matched the company product theme.

One of my friend suggested me to create individual SendBird application-id for each module and on switching the module/area by user fetch the distinct SendBird application-id. This will make sure that everything you required is achieved from point 1-4 above. What is the weight of his suggestion as we are planning to buy the licence version in future. Is that cost the company per application wise or whatever.

Please guide me in this regard.

Thanks in advance.

2 Likes

@vcs_account,

So as far as 1-4 go you could keep them entirely separate by going the route of individual applications per module. As far as billing goes it’s based on the organization not the individual app. The premium features are split across all apps so all have equal access. The MAU is a total of all apps under that organization. Does that make sense?

As far as number 5 that sort of customization is easily able to be achieved with the UIkit so that shouldnt be an issue.

1 Like

@vcs_account another option if you really did want to keep them all in the same application is to make use of the custom_type attribute on channels. This would help you easily filter channels that only belong to say “HR”. I attached some links to documentation for some additional info on custom_types. I think either approach could work(Different apps, or same app but utilizing custom_types). Let me know if that answers your question!

Channels
Messages

@Alex_Preston

Thanks.

@Alex_Preston
Yes, we did achieve the separation between application modules via custom_type on channels. Also, we implement the onMessageRecieved event customize to filter all incoming traffic to SendBird client chat.

:metal:t2: Now the application is in UAT and so for everything is working as per expectation.

2 Likes

@tahiralvi Awesome, great to hear!