Progressive Web App with full offline capabilities
This is an example project for how you can build a Progressive Web Application with Polymer and Vaadin components.
The application uses a Service Worker to cache the Application Shell. A Web App Manifest file ensures that the browser identifies our app as a Progressive Web Application and offers the user to install the application through an install banner.
Live Demo
Try the live demo of the Progressive Web Application.
Running locally
-
Fork this repository and clone it locally.
-
Make sure you have npm installed.
-
Run
npm install bower polymer-cli -g
to install tools needed to run the project. -
When in the
expense-manager
directory, runnpm install
and thenbower install
to install dependencies. -
Run
polymer serve
to start the development server. -
Go to http://127.0.0.1:8081
Linting
Run all lint tasks in parallel
npm run lint
Run ESLint for JS
npm run lint:javascript
Run Stylelint for CSS
npm run lint:css
Run polymer-linter
npm run lint:polymer
Docker container for production
You can use the included Dockerfile
to deploy the built app using prpl-server.
Build project locally
The default polymer.json
contains the "autoBasePath": true
setting to support differential serving with the prpl-server.
This option makes the build incompatible with static file servers, though. So, in order to serve bundled app locally using polymer-cli
, do the following steps:
-
Remove
"autoBasePath": true
setting from thepolymer.json
-
Run
polymer build
-
Run
polymer serve build/es6-bundled
(you can choosees5-bundled
instead)
Read more about the build options in the Polymer: Build for production documentation.