Skip to content
Progressive Web Apps experiment
JavaScript CSS HTML Vim script
Branch: master
Clone or download
trungdq88 Merge pull request #9 from aviskarkc10/pointer
Add cursor pointers on links
Latest commit 543dde5 Oct 10, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
root-assets Fix typo Jul 11, 2016
src Add a pointer cursor on repo tab items Oct 10, 2018
.eslintrc React Router & eslint Jun 28, 2016
.nvimrc React Router & eslint Jun 28, 2016
.travis.yml Init from plain-react Jun 23, 2016 Add instructions to install bower components Oct 10, 2018
bower.json Repo list Jun 27, 2016
index.html Init from plain-react Jun 23, 2016
karma.conf.js Init from plain-react Jun 23, 2016
package.json 0.1.26 Feb 2, 2017
sw-precache-config.json Change handler for runtimeCaching to fastest Jul 13, 2016
yarn.lock Update react-router-page-transition@3.0.1 Feb 2, 2017

Build status Dependencies Dev dependencies Coverage Status


GitHub Explorer is a Progressive Web App that helps you explore GitHub user repositories. This project is created for technology demonstration purpose, experiment how a web app "looks and behaves" like a native app.

Live demo:

(currently no desktop layout available yet :-(, so please view this on mobile for better experience)

...or watch the GIFs below:

Overview App Shell (not a GIF) Material animation
gh-e image gh-e-1

Scored 88/100 in Lighthouse (auditing and performance metrics for Progressive Web Apps):



  • Change people beliefs on web apps by make it as much "native" as possible with cool technologies like ReactJS and Progressive Web Apps.

Tech stack:

  • ReactJS for UI
  • RxJS for data flow and basic app architecture
  • Web App Manifest for add to home screen, splash screen...
  • Service Worker for offline usage (sw-precache)
  • Animation Performance with FLIP and best practices from this High Performance Animations Blog Post
  • Application Shell Architecture for better user experience
  • Babel for ES6 syntax
  • Webpack for bundle
  • Karma for testing (no test case yet)
  • React Router Page Transition to make material transition effect possible.
  • ...and more, please check package.json

This project is bootstraped from plain-react - a simple boilerplate to start a simple ReactJS application.

TODOs: a potentially technical blog post about this coming soon.


Initial dev setup Make sure you have NodeJS v6 or above.

npm install
bower install
npm start 

http://localhost:8763 should now be live with Hot Module Replacement.

Production build

npm install 
npm run build 

Production code placed at build


npm test

Coverage report placed in ./coverage/ directory

Other commands

  • npm lint: linting.


/* TEAM */

    Company: Silicon Straits Saigon

    Developer: Trung Dinh Quang
    Contact: trungdq88 [at], quangtrung [at]
    From: Ho Chi Minh City, Vietnam

    UX/UI Designer: Huynh Anh Quan
    Contact anhquan [at]
    From: Ho Chi Minh City, Vietnam

    Animation Designer: Van Cong Bang
    Contact congbang [at]
    From: Ho Chi Minh City, Vietnam

/* THANKS */

    The Inspectocat Icon: Jason Costello 
    From: San Francisco, CA
You can’t perform that action at this time.