Code Monkey home page Code Monkey logo

iheartradio-webapp's Introduction

iheartradio-webapp

Electron Webapp for iHeartRadio

Preview Image

Get it from the Snap Store

iheartradio iheartradio

What is this?

This is a Node.js JavaScript application, but it is NOT a NPM package. This is solely for desktop use purposes.

In this application, we use the Electron Framework to turn a webpage into a webapp.

Like Spotify, you will be able to access all of iHeartRadio for Linux and MacOS.

Why not Windows? Hm. I wonder why.

Building

We have the normal npm build and a Jakefile if you wish (though I won't QA the Jakefile much).

For this example we will just use npm. To initially install the dependencies:

npm install

And it is good practice in my opinion to always check to see if any of the ~431 dependencies have updates.

npm audit fix

To run the webapp, you can run either:

npm start OR npm run run

Now we can start building. We have several build scripts but here are the most important.

Big thanks to those who work with the electron-builder to make this a lot more easier :)

By default these build for x86/64-bit general systems such as amd64. To build an AppImage and Snap, you can run:

npm run build

To build for Macintosh/Mac OS systems (yes there is support, this will generate a DMG):

npm run build-mac

Building for other Architectures

For the sake of not wasting my time with 32-bit since support for everywhere is slowly dropping, I will only support x86 and Raspberry-Pi arm64. However electron-builder currently is doing weird stuff with arm64 builds which it shouldn't (it's setting up VM's to build which is unneccessary), so for now we will be using the 32-bit arm7l/armhf until I work with the devs to fix this problem :)

We can also use this for testing purposes. To build for armv7l/armhf:

npm run build-armv7l

I'm pretty sure Mac's dont run on ARM devices so the above only builds AppImages and Snaps.

Installing

This install script is only for linux. This is because the resulting build is a bunch of libraries which has to be installed to many locations so I simplified it and made a decent install script for it. For Mac OS/DMG's it's already bundled in so you don't have to stress about it. You can run

npm install-linux

and that'll take care of it for you.

Contributing

Help is LOVELY appreciated! Fork and submit a PR. I look forward to seeing you.

License

This is licensed under the GNU General Public License v3+. You probably already know what it is but for the ones who are new, I'll give you the usual lecture/preamble.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

iheartradio-webapp's People

Contributors

dependabot[bot] avatar itzswirlz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.