This sample app allows one to browse an organization's public Github projects and view their latest commits.
The application consists of a client side app written in AngularJS 1.4.3, the UI look and feel is provided by Bootstrap.
The markup is written in Jade, which gets compiled into HTML during the build process. Sass is used for some minimal styling, compiled into CSS during the build process.
Bower is used to manage the app dependencies and Gulp is used to compile the markup, CSS and concatenate the JavaScript files.
Demo: http://repoexplorer.staging.bz
To search for an organization and view their public repos
- Navigate to http://repoexplorer.staging.bz
- Enter the name of a Github organization
- Click the "Explore!" button
By default the app will display projects sorted by "Stargazers" in descending order. Projects can be sorted by "Name", "Language", "Stargazers" or "Forks". Click on the headings to sort by either one of those parameters
To view the latest commits, click on any of the projects in the organization's repos page.
Commits are shown for the project's default branch, typically master
.
Bypassing Github API rate limits
Github imposes a limit of 60 requests per hour for unauthenticated requests. In order to increase that limit to 5000 calls per hour (for testing purposes), you may enter your OAuth Client ID and Client Secret by clicking on the key icon located on the top right.
Please follow the steps below to install the application locally.
-
Get the code
$ git clone git@github.com:minustime/repoexplorer.git
-
Install the build tools
$ npm install -g gulp
$ npm install -g bower
-
Install libraries the application depends on
$ cd repoexplorer/client
$ npm install
$ bower install
-
Build the application
$ gulp build
-
Enjoy!
The compiled app is located in the
client/dist
folder, please run it on a web server. For example using python:$ cd dist
$ python -m SimpleHTTPServer
navigate to
http://localhost:8000
-
Install PhantomJS globally
$ npm install -g phantomjs
-
Execute the tests
$ npm test