CubeCobra
An open source web application for building, managing, and playtesting Magic the Gathering cubes.
Contributing
If you are interested in contributing towards Cube Cobra, please read the Contribution guidelines for this project.
Setup
Install Prerequisites
You will need to install NodeJS, MongoDB, and an IDE of your preference (I recommend Atom). You can find the necessary resources here:
NodeJS: https://nodejs.org/en/download/
MongoDB: https://docs.mongodb.com/manual/installation/
You will need start a MongoDB background process, and create a database titled nodecube
. Refer to the official documentation for directions on how to set this up for your OS. Running use nodecube
in the mongo CLI is sufficient.
Atom (optional): https://atom.io/
Clone Project
Clone the project into a folder of your choice. Create a symbolic link from
../cubecobrasecrets
to cubecobrasecrets.example
:
cd CubeCobra/..
ln -s CubeCobra/cubecobrasecrets.example cubecobrasecrets
The resulting directory structure should look like this:
.
├── CubeCobra # Cloned repository
└── cubecobrasecrets # link to `CubeCobra/cubecobrasecrets.example`
└── email.js # Email secrets file
└── etc...
Then, run the following commands in the root of the cloned repository:
npm install
npm install nodemon -g
node force_update.js # Download Scryfall assets.
node seed.js # Seed the mongo database.
# Linux/OSX users
npm start # Start nodemon for backend server and webpack for frontend assets.
# Windows users will need to use 2 terminal instances.
npm nodemon
npm webpack-dev-server
Alternatively, if you are on Windows, you can use bash to mimic the Linux/OSX steps:
You will need to make sure you have bash
installed somewhere and run the following command [with your bash
path in place of the path below].
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
Then you can start the program like so:
npm start
You can now open up a browser and connect to the app through: http://localhost:8080. Despite the fact that node says it is running on port 5000, you should use port 8080 to connect.
Nodemon will restart the application anytime there is a change to a source file.
Running tests
To run the test suite, run npm run test