Exploring how the value of GitHub stars decays over time
I wanted to visualize the change and rate of change in star counts for projects on GitHub and see what happened if you reduced the value of a star from 1 to 0 as it reached 2 years old.
The project is like a little baby. You have to host it yourself and it requires command line usage to download stars for a project.
Check out the open issues for a glimpse of the future: https://github.com/librariesio/star-halflife/issues.
The source code is hosted at GitHub. You can report issues/feature requests on GitHub Issues. For other updates, follow us on Twitter: @librariesio.
New to Ruby? No worries! You can follow these instructions to install a local server, or you can use the included Vagrant setup.
First things first, you'll need to install Ruby 2.4.1. I recommend using the excellent rbenv, and ruby-build:
brew install rbenv ruby-build
rbenv install 2.4.1
rbenv global 2.4.1
Next, you'll need to make sure that you have PostgreSQL installed. This can be done easily on OSX using Homebrew or by using http://postgresapp.com. Please see these further instructions for installing Postgres via Homebrew.
brew install postgres
On Debian-based Linux distributions you can use apt-get to install Postgres:
sudo apt-get install postgresql postgresql-contrib libpq-dev
Now, let's install the gems from the Gemfile
("Gems" are synonymous with libraries in other
languages):
gem install bundler && rbenv rehash
bundle install
Once all the gems are installed, we'll need to create the databases and tables. Rails makes this easy through the use of "Rake" tasks:
bundle exec rake db:create db:migrate
Now go and create a personal access token on GitHub with the notifications
scope enabled and add it to .env
:
GITHUB_TOKEN=yourgithubtokenhere
Finally you can boot the rails app:
rails s
- Fork the project.
- Make your feature addition or bug fix.
- Add tests for it. This is important so we don't break it in a future version unintentionally.
- Send a pull request. Bonus points for topic branches.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Copyright (c) 2016 Andrew Nesbitt. See LICENSE for details.