Skip to content

MEAN stack web app that acts as the home base for all data generated during launches

Notifications You must be signed in to change notification settings

stanford-ssi/RocketsMC

Repository files navigation

RocketsMC

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!


How To Run RocketsMC

Installing MEAN Software

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.

Installing Node.js

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

Installing MongoDB

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.

Cloning this project

Find a nice clean directory to clone into and then:

git clone https://github.com/stanford-ssi/RocketsMC.git

Required packages (this can take a while)

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!

Running the project

(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/

Distributing over Ad-Hoc Wifi

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

About

MEAN stack web app that acts as the home base for all data generated during launches

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published