compumike08 / GitHub_Status_API_GUI

GUI tool to interact with GitHub Status API
MIT License
0 stars 0 forks source link

GitHub Status API GUI

The GitHub Status API GUI is a React/Redux client-side web application which can be used to view and create GitHub commit statuses in any GitHub repository you have access to. The application uses OAuth to allow users to authenticate to GitHub using their own GitHub usernames and passwords.

Prerequisites

Using OAuth with GitHub

In order for your instance of the GitHub Status API GUI application to authenticate to GitHub using OAuth, you must first register a new OAuth application for your instance. For more information, see GitHub's OAuth documentation for developers.

Gatekeeper

In order for OAuth authentication with GitHub to work, you must configure and deploy an instance of the open-source Gatekeeper application to a server. This is due to a security measure GitHub has put in place in it's OAuth authentication API to prevent client-side applications from directly authenticating with GitHub. This restriction ensures that application developers do not inadvertantly disclose their application's GitHub client secret to users by including it in client-side code.

Deploying Gatekeeper

You can easily deploy an instance of Gatekeeper directly to Heroku or Azure by clicking the appropriate button in Gatekeeper's README.md file.

Alternativly, you can clone the Gatekeeper repository and build/deploy Gatekeeper to any web server manually.

Make sure you follow the instructions for setting up Gatekeeper in Gatekeeper's README.md file, including setting the client secret you obtained from GitHub when registering your OAuth application. See Gatekeeper's README.md for more details.

Configuring GitHub Status API GUI

See Configuring The Application.

Known Bugs/Limitations

Tools Used In Development

This development enviornment for this project was created using Cory House's react-slingshot tool, which is available under the MIT License.

License

This project is licensed under the MIT License. See LICENSE file for details.

Copyright

Copyright © 2017 Michael Hadjiosif