EDIT: The original question asked for a real-time solution. I am not sure this is necessary. It should be about as fast as sending a standard SMS text message.
I want to integrate group chat in my android / ios app. There is a similar question found here, but the answers are old and I would like to see if there are any new / better solutions.
I am currently using multiple AWS services in my app, and would like to keep my chat solution in the same ecosystem. However, if there is a solution outside of AWS that is much easier to implement with good results, I am open to the suggestion.
Based on my research I have come across a couple of possibilties:
This AWS blog lightly covers using ElastiCache for this purpose
This LinkedIn slideshow demonstrates the possibility of using AWS IoT
Requirements for my chat:
Would like to be able to support up to 500 people per chat group
Usable from the web via online portal that has the same general functionality as the mobile app
Needs to be scalable to handle thousands of groups
Needs to handle emojies (cross platform)
Needs to allow for file transfers. Images and GIFs at the very least.
Send push notifications to users who have elected to recieve them when they are not currently active in the group
Are either of my possiblities a good fit for my requirements? Which would be the easiest to implement? Are there other, easier solutions inside of AWS? Outside of AWS?