Seeking advice for adding chat capability to my web app with Elixir

Hello people!

I’m reading everywhere how Facebook, WhatsApp, and Discord used Erlang to build their “chat server” and achieve high scalability and concurrency. I’m interested to hear what are some common properties of each chat server, what tasks it performs in general. I’ll need to add room chat to my existing web app written in node/express/mongo/react, and I’m considering elixir to handle my chat app.

Thanks!

1 Like

node isn’t totally stupid for chat/websocket so consider staying with that - unless you tell me you also plan to move everything to elixir/phoenix and get rid of node long run, you need the unique Presence feature, or that the chat will be massive scale and you think node will fall short on that account…

that said, have or add some kind of auth token in your react frontend that you then connect to the phoenix server with, join a channel aka room and message away…

examples go from simple to slack clone advanced:
https://blog.diacode.com/building-a-simple-chat-using-phoenix-framework-presence-and-react

https://medium.com/@benhansen/lets-build-a-slack-clone-with-elixir-phoenix-and-react-part-1-project-setup-3252ae780a1

4 Likes

I’ll give it a shot. Thanks!