Zombie Survival Social Network

The object of this project is to provide a Backend application to deal with survivors of a zombie apocalypse that will be used in a social network.

Install

First of all, you need install NodeJS version 8.9.3 (LTS). For more information about the installation, you may see in NodeJS Website.

About database, we use MongoDB that must be installed. For more information about the installation, see MongoDB Website.

To install the application, just unzip the received zip file or clone from GitHub:

git clone https://github.com/AlexRobertoCorrea/zombie-survival-social-network.git

Next, enter in the folder zombie-survival-social-network:

cd zombie-survival-social-network

So, install the packages needed:

npm install

Usage

In the Zombie Survival Social Network application, we deal with it using APIs, for example, we can Post a survivor, update his/her location, notify if he/she is infected, trade supplies between survivors and get their reports. We use Apiary as tool to describe each API in detail and we can check it out in this link.

So, to run the application, enter the folder:

cd zombie-survival-social-network

and run:

npm start

and the application will be available in the port 3002. In other words, the prefix of APIs is http://localhost:3002.

If you want to run the automated tests, run:

npm test

Technical decisions

By familiarity, we decided to use NodeJS as middleware, Express as Backend Framework and JavaScript with EcmaScript 6 as the language. Modelling data was easy thinking in objects, so, we decided to use MongoDB as our database. Mocha and Chai were used as Tests Framework and we set at least 90% of coverage. Nowadays, we have about 98% of lines coverage, which is awesome! Therefore, Eslint was used to check our code pattern and it works well when we run the tests.