I am planning to create chat application which need to send files like voice, video, image etc

I am new to the Phoenix, but I have some experience in Ruby so I am learning Phoenix to build my chat application.
I like to know is it possible to build the chat application like whatsapp in Phoenix, please give some tutorials or code samples to build chat with file sharing and messages.
I saw the repo which gives only messages but I need to send the files as well. please help me on this

Thanks in advance :slight_smile:


These should help :smiley:


I would start by looking at MongooseIM / Ejabberd instead of rolling your own solution. The Phoenix app should wrap around MongooseIM.

I don’t know the broader context of what the application requirements are, but I think there is a huge chance this approach will be an overkill. If it doesn’t need federation (i.e. talking to other servers) and external chat services/clients support, you are adding huge layer of complexity (esp. on the maintenance side of things) for little advantage.

Its not just federation…I admit I’m lazy and don’t want to deal with:

  1. authentication
  2. presence notification
  3. multi-user chat
  4. store and forward (especially with mobile)
  5. message marshaling - this is especially true on the client side. With MongooseIM there are tons of XMPP client libs to choose from.
  6. voice and video conferencing
  7. fail-over resilience

End of the day if OP just wants a chat app for practice purposes sure its overkill. But OP did mention like WhatsApp and starting with a XMPP server brings him so much closer to that goal.

Sounds cool. Whatsapp actually uses Erlang under the hood for messaging so I think this is a solid project

Thank you so much guys, your inputs will help for me to achieve learning.