![Game Data Logo](https://git.metaunix.net/BitGoblin/game-data/raw/branch/main/assets/img/app-logo.png)

![Build badge](https://builds.metaunix.net/api/badges/84/status.svg)

# Game Data

Web-based tool to store and organize PC hardware gaming benchmarks.

## Project Goals

The goals of this project are to:

* Record benchmarking results from multiple devices - e.g. log from a laptop or a phone.
* Group results into tests to keep track of different testing configurations.
* Encourage running tests multiple times - it's good practice to run a benchmark multiple times for accuracy.
* Create comparisons of hardware tests to compare performance.
* Generate graphs of hardware comparisons for usage in videos and articles.

## Requirements

Game Data runs on Ruby, and takes advantage of [Bundler](https://bundler.io/) to manage code dependencies and [Rake](https://ruby.github.io/rake/) to run various tasks for maintaining the app. You can install them globally like so:

Debian/Ubuntu: `apt install -y ruby ruby-bundler rake`
RedHat and clones: `dnf install -y ruby rubygem-bundler rubygem-rake`

## Production Deployment

**TBD**

## Development

### Via Docker

If you'd prefer not to install dependencies and such to your local OS, you can do the development via Docker. The scripts provided in `bin/` will build Docker images for running the Ruby app and building the front-end assets via Gulp. *Both containers will automatically watch for changes.*

**Note:** Using the scripts below, the Docker images will remove themselves when stopped. This is to make clean up a bit more streamlined.

1. [Install Docker](https://docs.docker.com/engine/install/) for your OS.

2. Build the docker images for Ruby and Gulp:

`bin/docker-build.sh`

3. Run the docker images:

`bin/docker-run.sh`

4. If everything is running successfully you can open your browser and go to https://localhost:9292.

### Local/Native Development

1. Install dependencies via bundler:

`bundle install`

2. Perform database migrations:

`rake db:migrate`

3. Run the server in development with auto-reloading:

`rake server:dev`

4. If everything is running successfully you can open your browser and go to https://localhost:9292.

## License

This project is available under the BSD 2-Clause license.
