Skip to content

:octocat: All about your Github account, public and private activity, watch stars, followers and much more.

License

Notifications You must be signed in to change notification settings

Github-Web-Apps/Starhub

Repository files navigation

Starhub Logo

Starhub

All about your Github account, public and private activity, stars count, release download count, who followed/unfollowed and starred/unstarred your Github repositories plus daily email notification about changes and much more.


Features:

  • My-Starhub: display total repos, stars and followers
  • My-Starhub: public and private activity history listing plus filter
  • My-Starhub: watch all repos for changes
  • My-Starhub: daily email notification (only on changes)
  • My-Starhub: notification for new followers, un-follower, stars, un-star
  • My-Starhub: global user statistics on activities and used languages
  • My-Starhub: main user organization statistic
  • My-Starhub: list search and filter starred repos
  • Statistics: stars and releases downloads counter analytics
  • Tools: github applications selection and listing
  • Tools: mail finder, username and user-id converter, site preview and git downloader
  • Profiler: github profile for any github user with various statistics
  • Profiler: direct access (starhub.be/github-user-name)
  • And much more...

Screenshot











Running it locally

Cloning

For Go projects to work they have to be cloned on the right places.

Let's assume ~/Code/Go as our default Go projects folder.

So:

git clone git@github.com:Github-Web-Apps/Starhub.git
cd Starhub

Dependencies

Now, install Go 1.11+ and run:

make setup

To install the other project's dependencies.

Building

Just run:

make build

Running the tests

Just run:

make test

Database setup

Start up postgres and run:

createdb watchub
for sql in ./migrations/*; do psql watchub -f $sql; done

Tunnel with ngrok

To test the entire flow, you'll need to install ngrok.

Install it, then just run:

ngrok http 3000

Then, create an application on github.

Fill it like this:

  1. Application name: Starhub-Dev-Username
  2. Homepage URL: the ngrok http forwarding URL, e.g. https://6f7ca783.ngrok.io
  3. Application description: empty
  4. Authorization callback URL: same as homepage url, but with a /login/callback suffix. e.g.: https://6f7ca783.ngrok.io/login/callback

GitHub will then give you a Client ID and a Client Secret.

Export them like this:

export GITHUB_CLIENT_ID="your client id"
export GITHUB_CLIENT_SECRET="your client secret"

And then just run the app:

go run main.go