skellock / phoenix-react-native-mashup

A sample chat app using React Native and Phoenix.
MIT License
194 stars 34 forks source link

What is this Foul Sorcery?

Here's an example of using React Native to talk to a Phoenix server with WebSockets.

Screenshot

The Blog Post

For more background and some more in-depth commentary, check out my blog post that goes with this repo.

https://medium.com/@skellock/prototyping-a-chat-app-with-react-native-and-phoenix-5e65677a8217

About The Client

Since this is just a sample, I'm going to pretend errors and timeouts don't exist.

In the code:

The UI revolves around a hilariously fantastic 3rd party component called Gifted Messenger:

https://github.com/FaridSafi/react-native-gifted-messenger

About The Server

The server is Chris McCord's example. The only change I made was to turn off the server-generated PING message every 5 seconds.

https://github.com/chrismccord/phoenix_chat_example

I just included it here for convenience. I ghetto-forked it as of 02bbbc8a295542146aef4e347dcbdc5fd0aadd69 on Feb 13, 2016. He does a great job of keeping it up to date, and you should use his for your own adventures.

Running The Server

Make sure you've installed Elixir 1.2.2+.

After a quick 1-time compile, your server is now up & running. If you installed the web client then browser to http://localhost:4000

Running The Client

Make sure you have React Native 0.19+ installed on your ride.

If you're running android, you might need to reverse map some ports to get to the chat server by running

\o/