• Welcome to RadioDJ - Free Radio Automation Software Forum. Please log in or sign up.

Our Node.js + RadioDJ + Electron app set-up and source code

Started by xanaftp, November 28, 2018, 09:05:34 AM

xanaftp

Hello! Those of you who are very ambitious developers who may want to know how we do things at WWSU Radio may be interested in this.

RadioDJ is an awesome program. But of course, it does not suit all our needs out of the box. So I developed a Node.js server, as well as a front-end Electron application, to work alongside RadioDJ (via REST). The result is much more functionality than RadioDJ alone could provide (such as easy/automatic metadata management across all platforms, display signs for the radio studio lobby, control panel for DJs / radio personalities, show logging, listener analytics, silence detection and handling, Directors and timesheets, auto-monitoring RadioDJ and switching between RadioDJs when one fails, online track request system, messaging system, break / ID management, and many other things).

The applications, of course, were specifically developed for WWSU Radio. However, the code is open. So if any developers would like some inspiration coding-wise for developing their own complimentary applications to work with RadioDJ, you can check the code out.

Do be aware I'm not a professional developer. My coding is very messy (though I do try to make general comments), especially in DJ Controls (I have not had a chance to re-write its code yet). And security cannot be guaranteed. I do not recommend trying to run these applications as-is.

Node.js server:
https://github.com/Lovinity/wwsu

Front-end electron application (which connects to the Node.js server):
https://github.com/Lovinity/wwsu-dj-controls

Node.js has no graphical interface (it's just an API server with a few webpages). But attached is a screenshot of DJ Controls. Also, if you go to https://server.wwsu1069.org/listen , you can see a webpage generated by the Node.js server.

[attachment deleted by admin]

stevewa


xanaftp

Quote from: stevewa on December 06, 2018, 02:49:48 PM
hey this is really nice, thanks for sharing

You're welcome! Hopefully it brings some inspiration.

Quote from: stinga on December 06, 2018, 05:47:32 PM
Great job!!!.. js   :'(

Every time I come across js it ends badly with me getting cross  :)

Lol Javascript is a pretty messy language, that's for sure. But it can do quite a bit, especially as Node.js.

stevewa

is there a reason you used node.js for server side, instead of something like php?

xanaftp

Quote from: stevewa on December 13, 2018, 05:22:42 PM
is there a reason you used node.js for server side, instead of something like php?

Not necessarily, though node.js is easier to deploy IMO, and also sails.js was what we needed in terms of a framework.