RocketsMC is a MEAN stack web app that acts as the home base for all data generated during launches. It's awesome and getting awesomer. Instructions below on how to set it up for yourself!
The computer hosting RocketsMC must have up to date Node.js and MongoDB. If you don't already have these packages installed on your laptop, follow the instructions below to install them.
Install the latest "Mature and Dependable" version of Node.js (currently version 4.2.2). It can be downlaoded from https://nodejs.org/en/download. To verify you have Node.js and its package manager (npm), try running the commands:
node -v
and:
npm -v
which should run and print out the version numbers of your node and npm programs.
Oh also you need mongoose
npm install mongoose
Install the current stable release of MongoDB from the website https://www.mongodb.org/downloads#production. Unless you direct it otherwise, MongoDB will store the database in the directory /data/db (C:\data\db on Windows). Make sure this directory exists and is writable by you before starting the database.
To verify you have MongoDB installed and working try starting it with the command:
mongod
This should print a bunch of log messages including one saying "waiting for connections on port 27017". The mongod doesn't exit until the database is shut down so you will want to either run this in its own window or in background.
You should be able to directly interact with the MongoDB database by running the command:
mongo
Type help at the command prompt to see the available commands.
Find a nice clean directory to clone into and then:
git clone https://github.com/stanford-ssi/RocketsMC.git
To be so awesome, RocketsMC relies on a ton of cool node packages & middleware modules and you will unfortunately have to download all of them. The full list is at the bottom of the release notes for 1.1 here.
Luckily, the MEAN stack is actually pretty forgiving and running npm install in the top level of the directory (ie. where package.json lives) will tip off npm to all the required modules RocketsMC uses.
However, if you find yourself missing something, you can always fetch the missing module use the command npm install --save -g <module> which will fetch the module name <module> into your node_modules directory and add the dependency to your package.json file. Use a require function to add the module to your web server. The dependencies and sub packages should sort themselves out. If you run into problems, there is usually a quick fix just a google search away!
(make sure you already did a npm install at the top level of the project). Maybe give node a quick npm update.
You will need to start your MongoDB instance. Start MongoDB by running command:
mongod
Now open a new terminal window to execute
nodemon
You should see RocketsMC come to life at http://localhost:3000/
Rockets MC works without an internet connection since you probably won't have a great LTE signal out at the launch site. You'll want to configure the host computer to distribute RocketsMC over ad hoc wifi.
First, we need to set up our own network. If you're on a MAC, just click the wifi symbol on the status bar and select "Create Network". Standard options are fine. If you're running Ubuntu, check [this out](http://howtoubuntu.org/how-to-create-a-wireless-ad-hoc-network-in-ubuntu). If you're running Windows, I don't know how you made it this far because the project's directory depth is past the character limit for Windows 7/8 & 10.
Now fire up the app with `mongod` and `nodemon` in the top level of the project directory.
Now let's figure out what ip address clients can connect to. Do:
ipconfig getifaddr en0
take note of the address. Clients can connect to:
<host address>:3000