Wanted to play with Elixir, so I decided to create a chat app with an experimental snapchat like feature that allows you to send messages, images, etc. "off the record".
Example App: https://messengerr.herokuapp.com
- Install Brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - Install Npm:
brew install npm - Install Node:
brew install node - Install Elixir:
brew update && brew install elixir - Install Hex:
mix local.hex - Install Phoenix:
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez - Install Redis:
brew install redis - Install Postgresql:
brew install postgresql
git clone https://github.com/davissp14/messenger_app.git
Open up two new tabs.
- In one tab run:
redis-server - In the other run:
initdb /usr/local/var/postgres/# You only need to run this the first time you set this up. - Then run
postgres -D /usr/local/var/postgres/ - Connect to postgres and create the secure_messenger_dev database.
psql postgresor Mac Users can Right Click on postgres folder Services > New Terminal at Folder --- if you have enabled this feature via System Prefs > Keyboard > Shortcuts > Servicescreate database secure_messenger_dev;then push ctrl-d to exit.
To start your Phoenix app:
- Install dependencies with
mix deps.get - Create and migrate your database with
mix ecto.create && mix ecto.migrate-- If you getFATAL (invalid_authorization_specification): role "postgres" does not existcreate superuser with commandcreateuser postgres --superuser - Install Node.js dependencies with
npm install - Start Phoenix endpoint with
mix phoenix.server
Now you can visit localhost:4000 from your browser.

