A sample offline streaming video PWA built for web.dev/media
Перейти к файлу
Derek Herman 05cb0f56bc
Merge pull request #137 from xwp/fix/404
Route missing pages to a soft 404 handler
2021-07-30 21:23:32 -07:00
.github Schedule cron job to deploy staging every Monday at 6:20am 2021-07-30 16:59:15 -07:00
.husky Update dependencies 2021-05-29 18:21:59 -07:00
public App manifest, plus icons 2021-05-29 23:30:28 -07:00
src Update error text 2021-07-30 20:16:09 -07:00
.babelrc Add .browserslistrc and refactor code to work in target browsers. 2021-02-11 17:38:16 +01:00
.browserslistrc Add .browserslistrc and refactor code to work in target browsers. 2021-02-11 17:38:16 +01:00
.editorconfig Transfer the internal PoC to public repo. Cleanup code style. 2021-02-05 16:30:23 +01:00
.eslintrc.json Ignore file when missing from CI/CD pipeline 2021-07-30 21:15:39 -07:00
.gitignore Stop tracking api.json 2021-03-30 18:45:51 -07:00
.nvmrc Apply some comments 2021-02-23 14:53:52 +01:00
CONTRIBUTING.md Add contributing file and license headers 2021-06-10 16:28:13 +00:00
LICENSE Initial commit 2021-01-27 00:15:23 -08:00
README.md Fix typos, add description and CORS info 2021-05-29 21:31:49 -07:00
cors.json Update dynamic hosting URL for staging 2021-07-30 15:47:27 -07:00
firebase.json More UI and connected Router 2021-02-22 17:21:20 +01:00
package-lock.json Add @rollup/plugin-json to convert .json files to ES6 modules 2021-07-30 19:59:05 -07:00
package.json Add @rollup/plugin-json to convert .json files to ES6 modules 2021-07-30 19:59:05 -07:00
rollup.config.js Ensure API is generated for both rollup input files 2021-07-30 21:19:23 -07:00

README.md

Please note: This app is being developed. There may be bugs, and everything is subject to change.

Kino

This is a sample media (VOD) app to demonstrate media functionality in the context of a Progressive Web App.

Running the site locally

Start by creating a new project from the Firebase Console and then set up the Firebase CLI with NPM.

Important: This project uses a local Firebase emulator, which mean you need to install the Firebase CLI globally.

npm install -g firebase-tools

Clone this repository:

git clone git@github.com:xwp/kino.git

Go to the project folder:

cd kino

Login to Firebase:

firebase login

Initialize Firebase:

firebase init

Install the dependencies:

npm install

Build the assets:

npm run build

Note: This project uses Rollup to build the JavaScript assets. No transpilation is currently being done, the tooling exists mainly to resolve ES Modules in the Service Worker.

You can also have Rollup watch for changes in the /src directory and rebuild them on the fly.

Watch and build the assets:

npm run watch

Finally, start the Firebase emulator:

npm start

The videos are not included in the repo, but rather are served from a Google Cloud Storage bucket. They are served with CORS headers, meaning that you will need to run the local copy of the server at port 5000.