An Elixir/Phoenix application for playing the AdventureTime game in the browser. LiveView and PubSub are used for updating the page when users interact with their heroes.
A demo can be found at https://adventure-time-online.herokuapp.com/
Adventure Time Online relies on the Adventure Time library. The github release of this library is referenced in your mix.exs
already, and mix deps.get
will just work. If you wish to work on it locally, just clone the repo and then switch to the commented out line in mix.exs
to use a local path to the library instead.
With that out of the way, you can do the normal mix deps.get
and then mix phx.server
. From there, head to http://localhost:4000
in your browser (or in multiple incognito browsers to try out the multiplayer functionality).
- Clone the project to your development machine
git clone https://github.com/FelixFortis/adventure_time_online
- Optionally clone the Adventure Time library and update your
mix.exs
file to reference the local copygit clone https://github.com/FelixFortis/adventure_time
. - Install dependencies with
mix deps.get
. - Compile the project with
mix compile
. - Launch the project with
mix phx.server
. - Run the tests with
mix test
. - Contributions should be made by pull request, covered by automated tests and include a thorough description of the changes and the reasoning behind them.
This project is setup to be deployed to Heroku, so if you wish to deploy it elsewhere, you may need to make changes to the config.
Create your heroku app with the latest Elixir and Phoenix build packs and add the git remote to your app.
Your Heroku app will need a SECRET_KEY_BASE
environment variable heroku config:set SECRET_KEY_BASE=my_super_secret_key_base
.
Then it's just a matter of the usual git push heroku master
.
For deploying via Elixir releases, please see the official documentation for help.