Skip to content

Somewhat generic player matching service built with Elixir and Phoenix

License

Notifications You must be signed in to change notification settings

BuddyGG/buddy_matching

Repository files navigation

Backend service for buddy.gg

Build Status Coverage Status License: AGPL v3

Somewhat Generic player matching service built with Phoenix, utilizing GenServers and sockets to avoid having an underlying database.

The application is structered as an umbrella consisting of 4 apps.

Currently built only to support matching players from League of Legends, but can ideally be easily extended to support multiple games.

Run local

To start the server:

  • Install dependencies with mix deps.get
  • Start Phoenix endpoint with mix phx.server Now you can visit localhost:4000 from your browser.

To test interactively in IEx:

  • Install depedencies with mix.deps.get
  • Start IEx with iex -S mix phx.server

To test interactively with Riot's API in IEx, create a local dev.secret.exs from the template, and fill in your 24h API key generated at https://developer.riotgames.com/.

Run tests

mix test

Development

Features should be implemented on feature branches based on [development] and rebased thereinto with Pull Requests. New features should not add any issues to mix credo and should be formatted using mix format.

Releases should be merged from [development] into [master], whereafter [master] is rebased into [development].

Deployment

Development:
Branch 'development' is automatically deployed to Heroku at: https://lolbuddy.herokuapp.com/api/

Examples:

Master:
Branch Master is manually deployed to DO at https://api.buddy.gg/api/

Examples:

Deployment is handled with edeliver, distillery and conform. See the respective repos for more information.