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

erlang
phoenix
learning-elixir
#1

Hi,
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:

1 Like
#3

These should help :smiley:

1 Like
#4

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

#5

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.

#6

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.

#7

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

#8

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