filabreu / quake-log-parser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quake 3 game log parser

This small app will parse a Quake 3 log file and output some data relevant to each game logged:

  • List of players and their names
  • Count of kills by each player
  • Count of death by each mean of death

Dependencies

This solution is made with Javascript and NodeJS. It was tested with NodeJS 16.3.1. Any version above 12.x.x should be compatible.

  • NodeJS 12.13.x or above (NodeJS 16.3.1 recommended);
  • NPM (packed with NodeJS)
  • Jest (for tests)

Running the application

There is a npm script to run the application:

npm run start

Alternatively, you can also use Yarn, if you prefer:

yarn start

The application will print the parsed game data in the screen

Running the application with Docker

There is a Dockerfile included, so that you don't need to install any dependencies.

To run the app with Docker, first build the Docker image:

docker build -t quake-log-parser .

Then run a Docker container with the built image:

docker run quake-log-parser

Running tests

To run application tests, first install Jest dependency with NPM:

npm install

Run Jest tests with NPM script:

npm run test

Running tests with Docker

It's also possible to run application tests within the Docker instance, which already have the Jest dependency install.

To run the app tests with Docker, first build the Docker image:

docker build -t quake-log-parser .

Run Jest tests with NPM script from the Docker container:

docker run quake-log-parser npm run test

About


Languages

Language:JavaScript 98.5%Language:Dockerfile 1.5%