These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
For detailed instructions on how to install, set up, customize and deploy Destroyer2, visit the guide
You will need Redis and Node.js with npm installed on your machine to get started (visit https://redis.io/download and https://nodejs.org to install Redis and Node.js with npm).
A step by step series of examples that tell you how to get a development environment running:
Clone the git repository
git clone https://github.com/umcconnell/destroyer2.git
cd destroyer2
And install npm dependencies
npm install
Finally, start the Redis server in a different shell.
You may optionally specify a Redis configuration file as argument to
redis-server
cd path/to/destroyer2/db/
redis-server
# If you have a redis configuration file, instead run:
# redis-server redis.conf
Back in the first shell, start the webserver:
npm run debug
Navigate to http://localhost:8080 to get started!
You can customize the project by adding a .env
file in the root of the project
and a Redis configuration file in the db/
folder. Make sure to specify the
Redis configuration file when starting the Redis server.
See the example .env configuration file and the customizing section in the guide for more information: guide/customizing
Set a database password in the .env file and in the redis.conf file. See the deployment guide for more infos and detailed instructions: guide
Deploy the app to a free Heroku instance:
See the docs for more information about the system architecture, API endpoints, game events and customization.
To edit the docs locally, navigate to the docs/
folder and run:
cd docs/
npm run docs:dev
Make sure to first install all required build dependencies in the docs folder:
# In docs/
npm install
- Node.js - The server backend
- express - The web server
- Redis - The database
- node_redis - The Redis client for Node.js
- ws - The WebSocket server
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
Ulysse McConnell - umcconnell
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Node.js - The server backend
- express - The web server
- @hapi/joi - Object validator for API
- jsonwebtoken - User auth
- Redis - The database
- node_redis - The Redis client for Node.js
- bluebird - Promise library
- ws - The WebSocket server
- winston - The logging library
- morgan - The HTTP request logger
- dotenv - The .env file parser
- module-alias - Custom module aliases
- feather - The icons
- Warship icon by zidney on the NounProject (resized, minified and changed line thickness) - The logo
- Billie Thompson - PurpleBooth for the README and CONTRIBUTING template
- vuepress - The documentation generator
- Algolia DocSearch - The documentation search provider