BuddyGG / buddy_matching

Somewhat generic player matching service built with Elixir and Phoenix
https://www.buddy.gg
GNU Affero General Public License v3.0
64 stars 7 forks source link
elixir fortnite fortnite-api genserver league-of-legends matching phoenix riot-api umbrella

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:

To test interactively in IEx:

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.