Hi @everyone, the reason for using the Github API call for the details of the Components would ensure that up-to-date information is provided to the client. For all the other requests, the data sent would be from the database of the server, which will be updated via a cronjob as already discussed with @rowlandm. Regarding the rate-limiting, the documentation states that using a client ID and secret for a registered app would increase the rate for unauthenticated requests to 5000(https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications)
Also, the reason that this is on the client side is that it works like any other API call, and hence it does not require any interference from the backend.
Once the rate limit is reached, the call sends a 403 status code, which can be handled and the data can, as always, be requested from the server.
As Vue.js is to be used, concurrent calls can be made, to both Github as well as the server, and hence, the details can be displayed without compromising the speed.