Here is a technical overview of Moode Player for the hacker types :-)
Overview
Moode is a Web user interface (WebUI) front-end for Music Player Daemon (MPD) headless music server. Moode runs on Raspberry Pi using a customized Raspbian Linux OS and custom compiled version of MPD. Moode can also function as an Airplay receiver, UPnP renderer and DLNA server.
Software
Moode is complex software with many component parts. It consists of PHP, JQuery/Javascript, HTML, CSS and BASH source code, a set of configuration files and a SQL database that contains player settings and configuration. There are 71 source code files, 7 SQL database tables and 10 configuration files. Source code includes 19 PHP, 29 Javascript, 4 BASH, 14 HTML, and 5 CSS. Many other support files exist but are not generally involved in feature coding or bug fixes.
Architecture
Moode is designed using client-server architecture. The front-end WebUI executes in the client Web Browser and communicates over the network to the the back-end servers on the Raspberry Pi. This architecture allows Moode to be running in multiple client Browsers simultaneously for example a Laptop, Tablet and Smartphone, and the WebUI will be in sync in all Browsers.
- See attached diagram
Infrastructure components
- Raspbian based OS
- MPD music server
- PHP5 scripting server
- NGINX Web server
- SQLite database engines
- Zend Media PHP-Reader