Giter Site home page Giter Site logo

stephensmitchell-forks / githubdashboard-xamarin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ytrjp/githubdashboard-xamarin

0.0 2.0 0.0 958 KB

A dashboard built around the Github API using ShinobiControls and Xamarin.iOS bindings

License: Apache License 2.0

C# 100.00%

githubdashboard-xamarin's Introduction

A ShinobiControls GitHub Dashboard (Xamarin.iOS)

A dashboard built around the Github API using ShinobiControls and Xamarin.iOS bindings.

Dashboard app

Getting Started

Shinobi licence keys

This project has been built using the trial versions of ShinobiCharts and ShinobiGrids - available from the Xamarin component store. Therefore, when you open the solution file in Xamarin Studio, the components should be magically installed for you.

Since we're using the trial versions you'll be issued with licence keys for each component when they are first downloaded from the component store. You can access these licence keys by logging in to the component store via the web interface, selecting your account and viewing 'My Components'. Form here you can select your trail components fro your list of components in order to find your trial keys.

In order to prevent the license key having to be repeatedly pasted into each class which uses a Shinobi control, this project uses a shared class to read the license key from a JSON file at startup and then push it into charts and grids as required. The process is very similar to the process for adding a github token (specified below):

  1. Using AppSecrets.sample.json as a template, create AppSecrets.json, with you license keys pasted into the appropriate places within the shinobi_license_keys section of the file.
  2. Right click on the JSON file in Xamarin Studio, and ensure that under build action "BundleResource" is selected.
  3. Ensure that you don't commit the new JSON file to your source control.

If you own ShinobiCharts and/or Grids then you won't need license keys, and can safely ignore these instructions.

ShinobiGauges

This project makes use of ShinobiGauges which are currently a public 'Proof of Concept'. You can download them from the ShinobiControsl Labs pages. One downloaded, manually add a reference to the DLL file that is contained within this zip file.

GitHub Personal Access Token

Without authentication GitHub limits your IP address to 60 requests per hour. This is a problem since changing the repo in the dashboard app requires at least 5 requests. Authenticating against github enables you to perform up to 5000 requests per hour. Therefore we check here whether or not credentials have been provided and if they have then we'll use them.

To create credentials for the app, as described in the GitHub help pages:

  1. Visit https://github.com/settings/applications
  2. Click create new token
  3. Give it an appropriate name, and copy the generated token.
  4. Using AppSecrets.sample.json as a template create AppSecrets.json - with your username and token pasted in the appropriate places - as part of the github_authentication_token dictionary.
  5. Right click on the JSON file in Xamarin Studio, and ensure that under build action "BundleResource" is selected.
  6. Ensure that you don't commit the JSON file into source control.

Please note that this solution is not suitable for production applications - for these you should implement a user-based OAuth2 solution, as per the instructions on GitHub.

githubdashboard-xamarin's People

Contributors

colineberhardt avatar sammyd avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.