/pwa

The GitHub client implemented as a Progressive Web App

Primary LanguageVueMIT LicenseMIT

PWAGithub

The GitHub client implemented as a Progressive Web App

Why?

Presently, around twenty-five million people use GitHub as their platform the storeand keep a record of their code, leverage their achievements and expose them to the community. However, the network coverage varies in all the parts of the globe, as well as the performance of the devices used. In order to reach out to developers that have to work with weak networks or operate devices that have low-specs, the content of the platform must readily available despite the network condition. Developers may need to refer to a certain codebase or check some kind of information to solve a problem of their own, and there is a need to suppress the network barrier.

How?

Therefore, the purpose of this software is to achieve a GitHub client that grants its users the power to securely consult the platform and access its content regarding the network state, save on data by using a cache-first approach and allow them to do it on a desktop or smart phone low in specifications. The goals set waive some problems such as storage efficiency, secure wireless network communication, network updates, cache integrity and an effective user-interface.

What's the result?

The achieved Progressive Web App delivers a lightweight product, capable of functioning on mobile and desktop devices being cross-platform and keeps the data as updated as possible. The web app maintains data by following a caching strategy and minimises the network usage with a cache-first approach. The data loading is fast and smooth, ensuring a good user-experience. The network usage shall be to the minimum amount possible and communicating in a secure way using HTTPS.

How to use?

The PWA lives here and requires a GitHub login to be used. There are bugs and Safari doesn't support Service Workers at the moment, however this PWA is a proof-of-concept and should be used as such.

Any bug or error found, please use the issues of this repository to give me feedback and I'll try to improve it as much as possible. This software is a fork from this guide. I deeply appreciate the time and effort put on the template by it's team.