#[node+HTML5+JS] GenScapes Live
##Concept This is an application that generates landscapes from a line-in audio input and allow numerous Public Clients, 1 Stage Client and 1 Live Client to actively or passively interact with the graphics.
Its main aim is to be used during live bands shows.
##Type of Servers (definitions)
- Cloud Server: managing mobile / desktop Public Clients
- Local Server: nodejs server managing Stage Client and Live Client
##Type of Clients (definitions)
- Public Client: mobile phone browser / desktop browser connected to Cloud Server
- Stage Client: browser app point-to-point connected to Local Server
- Live Client: nodejs app + browser app managing graphics and sound connected to Local Server
##Local Installation
- If not yet installed: Install nodejs (installer link)
- Clone/Fork+Clone this repo
git clone https://github.com/ricricucit/genscapes-live
- Run the command
sudo npm install
to install all project's dependencies coming from package.json
!!!!!! NOTE: You can avoid the following 2 steps if, at this point, you already know how to run Gulp and Bower otherwise, keep reading:
- Install Gulp globally
sudo npm install -g gulp
- Install Bower globally
sudo npm install -g bower
##Run the Application (Development)
- Run
gulp dev
to start a watch on modified dev files that needs a check or a task to run (eg. SCSS files) - Open a new terminal window and run
node index.js
to start a nodejs server to run the app - With a decent browser go to http://localhost:3000/ to act as Public Client
- With a decent browser go to http://localhost:3000/stage/ to act as Stage Client
- [TODO] With a decent browser go to http://localhost:3000/live/ to act as Projection Client [/TODO]
- Check "node index,js Terminal window" to check for server for Server-side DEV help/log messages
- Check "gulp watch Terminal window" to check for Client-side DEV help/log messages
##Run the Application (Production)
- Run
gulp
to start production tasks - Move to the newly created /dist folder
- Run
node index.js
to start a nodejs server to run the app - With a decent browser go to http://localhost:3000/ to act as Public Client
- With a decent browser go to http://localhost:3000/stage/ to act as Stage Client
- [TODO] With a decent browser go to http://localhost:3000/live/ to act as Projection Client [/TODO]
- If everything is working, you are ready to publish the content of the /dist folder on your nodejs hosting
Check Terminal for Server-side help/log messages
##Modify the Application
- For adding/removing packages & libraries, (eg. threeJS, helper scripts for node or JS, etc.) the application comes with 2 package managers: Bower mainly for web/client packages and NPM mainly for node/server packages.
- After adding/removing packages & libraries, modify the gulpfile.js array
scripts_to_compress
to update the distribution script.