This is a radio player for austrian radio stations (Ö3, Fm4, Ö1, + 9 district radios) There is a web version available at radio.paulem.eu and a chrome packaged app. But packaged apps are soon to be history and therefore this repository aims to bring the radioplayer to Electron.
- Polymer, Paper and Iron elements
- Material Design layout
- Routing with Page.js
- End-to-end Build Tooling (including Vulcanize)
To be able to contribute:
- Get a copy of the code.
- Install the dependencies if you don't already have them.
With Node.js installed, run the following one liner from the root of the project download:
npm install -g gulp bower && npm install && bower install && npm run rebuild
The app requires the following major dependencies:
- Node.js, used to run JavaScript tools from the command line.
- npm, the node package manager, installed with Node.js and used to install Node.js packages.
- gulp, a Node.js-based build tool.
- bower, a Node.js-based package manager used to install front-end packages (like Polymer).
- MPRIS-Service w/ DBUS, enables MPRIS features.
To install dependencies:
- Check your Node.js version.
node --version
The version should be at or above 0.12.x.
-
If you don't have Node.js installed, or you have a lower version, go to nodejs.org and click on the big green Install button.
-
Install
gulp
andbower
globally.
npm install -g gulp bower
This lets you run gulp
and bower
from the command line.
- Install the project's local
npm
andbower
dependencies.
cd RadioAustria && npm install && bower install
This installs the element sets (Paper, Iron, Platinum) and tools the starter kit requires to build and serve apps.
- Rebuild MPRIS-Service for Electron.
npm run rebuild
gulp serve
This outputs an IP address you can use to locally test and another that can be used on devices connected to your network.
npm start
This runs the project by building, vulcanizing and starting the Electron shell.
gulp
Build and optimize the current project, ready for deployment. This includes linting as well as vulcanization, image, script, stylesheet and HTML optimization and minification.
Polymer 1.0 introduces a shim for CSS custom properties. We take advantage of this in app/styles/app-theme.html
to provide theming for your application. You can also find our presets for Material Design breakpoints in this file.
Read more about CSS custom properties.
Polymer uses Bower for package management. This makes it easy to keep your elements up to date and versioned. For tooling, we use npm to manage Node.js-based dependencies.
We are open to all new contributors. Feel free to create some pull requests and just contact us if you want to be collaborator.