All Projects β†’ GoogleChromeLabs β†’ affilicats

GoogleChromeLabs / affilicats

Licence: Apache-2.0 license
🐈 Progressive Web App demo that showcases flaky network resilience measures (πŸ“Ά or πŸš«πŸ“Ά).

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to affilicats

react-calculator
πŸ“ PWA React + Redux Calculator
Stars: ✭ 65 (+0%)
Mutual labels:  service-worker, offline-first, pwa-apps, pwa-example
Upup
✈️ Easily create sites that work offline as well as online
Stars: ✭ 4,777 (+7249.23%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Ember Service Worker
A pluggable approach to Service Workers for Ember.js
Stars: ✭ 227 (+249.23%)
Mutual labels:  service-worker, progressive-web-app, offline-first
anonymous-web
πŸ’¬ A PreactJS powered progressive web (chat) application (Not active)
Stars: ✭ 28 (-56.92%)
Mutual labels:  progressive-web-app, pwa-apps, pwas
Sw Toolbox
A collection of tools for service workers
Stars: ✭ 3,649 (+5513.85%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Offline Plugin
Offline plugin (ServiceWorker, AppCache) for webpack (https://webpack.js.org/)
Stars: ✭ 4,444 (+6736.92%)
Mutual labels:  service-worker, progressive-web-app, offline-first
ProgressiveNewsApp
A simple Progressive Web App that brought news from a variety of sources using News API.
Stars: ✭ 41 (-36.92%)
Mutual labels:  progressive-web-app, pwa-apps, pwa-example
ambianic-ui
PWA for managing Ambianic Edge devices (smart cameras).
Stars: ✭ 32 (-50.77%)
Mutual labels:  progressive-web-app, offline-first, offline-capable
Parcel Plugin Sw Cache
πŸ“¦πŸ‘· Parcel plugin for caching using a service worker
Stars: ✭ 45 (-30.77%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Beer
The source code for the Progressive Beer app!
Stars: ✭ 73 (+12.31%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Android Pwa Wrapper
Android Wrapper to create native Android Apps from offline-capable Progressive Web Apps
Stars: ✭ 265 (+307.69%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Workbox
πŸ“¦ Workbox: JavaScript libraries for Progressive Web Apps
Stars: ✭ 10,434 (+15952.31%)
Mutual labels:  service-worker, progressive-web-app, offline-first
jekyll-pwa-workbox
A Jekyll plugin using Workbox to make your PWA / Website available offline.
Stars: ✭ 22 (-66.15%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Jfa Pwa Toolkit
⚑️ PWA Features to Any Website (very Fast & Easy)
Stars: ✭ 245 (+276.92%)
Mutual labels:  service-worker, progressive-web-app, offline-first
react-weather-app
⛅️ PWA Weather App made with ReactJS
Stars: ✭ 147 (+126.15%)
Mutual labels:  service-worker, pwa-apps, pwa-example
Sw Precache
Service Worker Precache is a module for generating a service worker that precaches resources. It integrates with your build process. Once configured, it detects all your static resources (HTML, JavaScript, CSS, images, etc.) and generates a hash of each file's contents. Information about each file's URL and versioned hash are stored in the generated service worker file, along with logic to serve those files cache-first, and automatically keep those files up to date when changes are detected in subsequent builds.
Stars: ✭ 5,276 (+8016.92%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Vue Wordpress Pwa
An offline-first SPA using Vue.js, the WordPress REST API and Progressive Web Apps
Stars: ✭ 665 (+923.08%)
Mutual labels:  service-worker, progressive-web-app, pwa-apps
Notepad
πŸ“’ An offline capable Notepad PWA powered by ServiceWorker
Stars: ✭ 100 (+53.85%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Monitaure
πŸ”” A server uptime monitoring progressive web application - NO LONGER MAINTAINED
Stars: ✭ 135 (+107.69%)
Mutual labels:  service-worker, progressive-web-app, offline-first
Dianoia-app
Mobile (Ionic 3 - Angular 4) app about non-pharmaceutical activities and information for people with dementia.
Stars: ✭ 13 (-80%)
Mutual labels:  offline-first, offline-capable

🐈 AffiliCats

A Progressive Web App demo that showcases various flaky network resilience measures.

The core idea is to simulate an affiliate or comparison app with various API calls (e.g., for prices, stars, reviews, location, photos) proxied by dummy lorem ipsum type APIs where the conversion action is to click through to a third-party and place the affiliate cookie (that's the click the app never wants to lose).

This application is used as the running example in the accompanying YouTube series called Why Build Progressive Web Apps.

πŸ‘€ See the Demo

Play with the app at πŸ‘‰ googlechromelabs.github.io/affilicats πŸ‘ˆ.

Screenshot of the AffiliCats app

πŸ”¬ Things to try

πŸ“Ί Episode 1 / πŸ“ Write-Up

  • Use the app under ideal conditions: You should be able to freely click and browse around, content should always lazy-load.
  • Search for something: You should be able to search for anything that has a Wikimedia Commons category page with images, for example, "Elephants".
  • Load while offline: You should see skeleton content and fallback images.
  • Regain connection: You should see the app hydrate and load content.
  • Lose connection while browsing: You should see the offline note and be no longer able to search. When you scroll and click around, fallback content should be shown.
  • Click through to "View Deal" while offline: You should alwaysβ€”offline or notβ€”be able to click through and see a countdown (paused if already offline, pausing if losing connection).
  • Regain connection on the forward page: The countdown should start or resume and you should be redirected to the landing page.
  • Use an ultra slow network: You should see timeout placeholders (a little clock icon) and info text for timed-out requests.

πŸ“Ί Episode 2 / πŸ“ Write-Up

  • Sign up for "Price Alerts": After clicking the "Price Alerts" button, you should receive a push notification after a couple of seconds. As an additonal step, try quitting your web browser immediately after clicking the button and the push notification should still arrive.

πŸ“Ί Episode 3 / πŸ“ Write-Up

  • See the custom "Install" button: Click through twice on any of the "View Deal" buttons and notice how the individual "Install" button appears.

πŸ’» Developing and Building

You can develop in the /src folder while you work on the app locally. Lint your code via npm run lint.

The app is remotely deployed from the /docs folder. You can build to there by running npm run build.

πŸ™ Acknowledgements

Thanks to @jeffposnick for the thorough(!) review of the app's service worker code and @argyleink for the amazing(!) design.

βš–οΈ License

Copyright 2018 Google LLC. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].