abricot / webinterface.arch

MIT License
34 stars 13 forks source link

Arch

Arch is a webinterface plugin for XBMC/KODI, built using AngularJS and Grunt. Browse all your movies, tv shows and musics. See what's currently playing. Discover new movies and tv shows. All from your modern browser desktop or tablets.

Screenshot


Stack

Build

Build system focused on AngularJS apps and tightly integrated with other tools commonly used in the AngularJS community:

Installation

Platform & tools

You need to install Node.js and then the development tools. Node.js comes with a package manager called npm for installing NodeJS applications and libraries.

Application Server

When testing with your browser (Chrome, Firefox) you will need to use our backend application server (using nodejs). Please follow the below steps :

Client Application

Our client application is a straight HTML/Javascript application but our development process uses a Node.js build tool Grunt.js and Bower to retrieve 3rd party dependencies. Grunt relies upon some 3rd party libraries that we need to install as local dependencies using npm.

Building

The application made up of a number of javascript, css and html files that need to be merged into a final distribution for running. We use the Grunt build tool to do this. Build client application with:

cd client
grunt build

Note : It is important to build again if you change files in under client directory. You can avoid this painful process by using continuous building see dedicated section.

Running

Start the Server

Run the server with :

cd server
node server.js

Your browser should automatically open at the following URL [http://localhost:8082] letting you use the application. Of course you can manually navigate to this URL at any time.*

Development

Folders structure

At the top level, the repository is split into a client folder and a server folder. The client folder contains all the client-side AngularJS application. The server folder contains a very basic webserver that delivers and supports the application while using a desktop browse (not needed when plugin is added to KODI). Within the client folder you have the following structure:

Default Build

The default grunt task will build the application.

cd client
grunt

Continuous Building

The watch grunt task will monitor the source files and run the default build task every time a file changes.

cd client
grunt watch

Building release code, aka create a zip file ready for KODI marketplace upload

You can build a zipped release version of the app, with minified files using a dedicated grunt task.

cd client
grunt release