Skip to content

littlejuh/quake-log-parser

Repository files navigation

Quake log parser

Project to parse the Quake log file

quake log parser pipeline

Context

A log file was generated by a Quake 3 Arena server. This project implements the following functionalities:

  • Read the log file
  • Group the game data of each match
  • Collect kill data
  • Generate output report

Example of generate output game report:

"game_1": {
"total_kills": 45,
"players": ["Dono da bola", "Isgalamido", "Zeh"],
"kills": {
  "Dono da bola": 5,
  "Isgalamido": 18,
  "Zeh": 20
  }
}

Business assumptions

  • Games without players returns players as empty array, like []
  • Kills score per player in game never bellow zero
  • Report per game only return kills by means that happened

Getting Started

Dependencies

If you don't want install all dependencies, you just need Docker running in your machine

Also you can run using these installed dependencies:


Setup

  • In your fav console, clone this repo then go to the created folder.. following these next steps:
    • git clone https://github.com/littlejuh/quake-log-parser.git

    • cd quake-log-parser

Run using Docker

  • Build project(install dependencies):
    • make docker-build
  • Run QuakeLogParserCLI application(get report result):
    • make docker-run
  • Run tests(units with rspec):
    • make docker-test
  • Run static analysis(rubocop w/ automatic fix):
    • make docker-lint
  • Show QuakeLogParserCLI version:
    • make docker-cli-version

Run

  • Build project(install dependencies):
    • make build
  • Run QuakeLogParserCLI application(get report result):
    • make run
  • Run tests(units with rspec):
    • make test
  • Run static analysis(rubocop w/ automatic fix):
    • make lint
  • Show QuakeLogParserCLI version:
    • make cli-version

About

Project to parse the Quake log file

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published