# Operation Pandora Trigger Commandcenter A [MEAN Stack](http://mean.io/) application created for [https://www.opt4.net](https://www.opt4.net) Arma3 Community ## Installation All steps described here are working with a Debian based Linux system ### Setup required 3rd Party Software #### Setup for Development Run the installation script located in the docs folder: ```text ./docs/opt-cc-environment/3rd-party-install.sh ``` It installs NPM, Node and MongoDB on latest versions. In addition, it sets up the mongo deamon to start up automatically with the system. #### Setup for Production **NOTE:** It his highly recommended **not** to run the following steps as _root_ user! For production setup run the script, described in _Setup for development_, adding the parameter `prod` ```text ./docs/opt-cc-environment/3rd-party-install.sh prod ``` This adds the [`pm2` process manager](http://pm2.keymetrics.io/) to be installed and start the _opt-cc_ server as `pm2` process. Run the `sudo` command printed as last output to configure the `pm2` process for automatic start on the system. ## Development ### Run and Modify Application **NOTE:** Do not use the execution described here in any production environment! It will make the running application highly vulnerable. Before triggering the environment execution run ```text npm install ``` inside the main folder, to process all needed npm package installations for the program execution. To compile the Angular code and afterwards start the Express server with `nodemon` for development purpose run ```text npm run dev ``` Any changes on `server` code will trigger an automatic restart of the Express server. Changes on `static` code can be submitted with ```text npm run deploy-static ``` The page must be reloaded after this build step is finished, in order to make changes visible. ## Run Tests _TODO_ ## License Information ### NodeJS Express Server (`/server`) published under [CC BY-SA 4.0 License](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt) \ Main concept for API Server, pagination and MongoDB usage by [Prof. Dr.-Ing. Johannes Konert](https://prof.beuth-hochschule.de/konert/) \ All endpoints, signature image builder and Arma3 RPT-Log parsing by [Florian Hartwich](https://de.linkedin.com/in/florian-hartwich-b67b02125) ### Angular 6 Frontend (`/static`) published under [MIT License](https://opensource.org/licenses/MIT)