Confidentiality: 
Confidential
Firstname: 
Nick
Lastname: 
Bachalo
Faculty: 
Lou Nel
Term: 
Fall
Year: 
2017
Honours Project Title: 
JamSpace
Abstract: 
It’s hard enough as it is for musicians to come together and play or practice when they live in the same area, but if they are remote, then it can be impossible. JamSpace provides a way for musicians to play together online with friends and network with other musicians. It is a web application built on the MEAN Stack(Mongo, Express, Angular, Node) utilizing PeerJS and the web browser built-in user media APIs for peer to peer client audio communication and local audio track recording. It was designed to be an exploration of web development and VOIP technology, and succeeded as both a learning experience and an implementation.
Cover Image: 
Upload description: 
This text is also included in the README.txt file Nick Bachalo 100943221 The JamSpace COMP4905 Final Report - Nick Bachalo PDF file is the final report for the project. The JamSpace Source Code zip file contains all of the source code for JamSpace. The JamSpace Video Demo is an MP4 that showcases the functionality of JamSpace. Video Demo notes: The audio cuts in and out at the end due to having two simultaneous streams being recorded from one microphone input. It may also be due to the sound dampening that my audio driver does if microphone input is too loud, since I was using my acoustic guitar. Installation of JamSpace: The Source code folder has all of the dependencies installed, so you should only need NodeJS installed to run it. Otherwise, these installation instructions are also included in the appendix of the project report: 1. Install NodeJS https://nodejs.org/en/ 2. Install Bower “npm install bower” in directory containing “server.js” 3. Install all node packages “npm install” in directory containing “package.json” 4. Install all bower packages “bower install” in directory containing “bower.json” 5. Dependencies are all installed now 6. Run JamSpace by typing node server.js in directory containing “server.js” and going to localhost:8080 in the web browser Note: Only tested on Google Chrome browser, functionality can’t be guaranteed on other browsers