Social app for league of legends based on champion mastery. Vaguely themed like a high school yearbook.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

LoL Yearbook

A social web app for League of Legends that allows users to write notes to players and comment on the champions they play.

View live site at

Built with Ruby on Rails.


Make sure you have Ruby and Ruby on Rails installed. Since I depoy with Heroku I use PostgreSQL, so you'll need to have that installed as well. Fork this repository, then clone it to your machine:

$ git clone

If you don't have bundler, you must first install it

$ gem install bundler

Navigate to the directory you just created and run

$ bundle install

Lol Yearbook accesses the Riot API and authenticates users through Twitter. You will need API keys from Riot and Twitter, which can be obtained by registering at and, respectively. To keep these keys secret in the app, we must provide them as ENV variables. I use the figaro gem.


$ bundle exec figaro install

And place the following in the generated application.yml file

# config/application.yml

RIOT_KEY: "YourRiotKey"
TWITTER_KEY: "YourTwitterKey"
TWITTER_SECRET: "YourTwitterSecret"

Next, set up the database by running

rake db:create db:migrate update_static_data

Now run

$ rails s

to start the server. Open a browser and navigate to localhost:3000.


Create a new branch to work on features or changes:

$ git checkout -b your-new-featureg

Commit and push your work back up to your fork:

$ git push origin your-new-feature

Submit a Pull request so your changes can be reviewed.

!Be sure to merge the latest from "upstream" before making a pull request!

git remote add upstream
git pull upstream master

If you find a bug that you don't know how to fix, or you have an idea for a feature but you don't know how to implement it, please create an issue! (But first, check to see that someone didn't already create the same issue.)


  • Champion filter update (filter by checkbox)
  • Allow replying to comments
  • Serious mess in RiotApi module (lib/riot_api.rb)
  • Procfile for Heroku (serve with Puma? Unicorn?)
  • Sharing comments on Twitter
  • Testing??? I never learned how to write tests. It'd be great to have them.
  • Allow users to edit their comments
  • system/task for keeping riot api versions up to date
  • better/more descriptive error handling/100% RESTful endpoints
  • allow selection of region (probably should save region to book table)
  • Optimizing database interactions (raw SQL)
  • User page, favoriting summoners, some kind of feed

LOL Yearbook isn't endorsed by Riot Games and doesn't reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends © Riot Games, Inc.