mikkotan / metrics-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Metrics API

Run via Docker

Pre-requisites

  • Docker
  • Docker-compose

Get Started

  1. Clone the project
$ git clone git@github.com:mikkotan/metrics-api.git
  1. Change directory
$ cd metrics-api
  1. Build with docker
$ docker-compose build
  1. Create database
$ docker-compose run --rm web rails db:create
  1. Run migration files
$ docker-compose run --rm web rails db:migrate
  1. Run db seed
$ docker-compose run --rm web rails db:seed
  1. Run containers
$ docker-compose up -d
  1. Run tests
$ docker-compose run --rm web rspec

Run without Docker

Pre-requisites

  • ruby-3.0.2
  • Rails 6.1.4
  • PostgreSQL (latest)

Get Started

  1. Follow steps 1 and 2 above
  2. Install dependencies
$ bundle install
  1. Update database.yml
default: &default
  adapter: postgresql
  encoding: unicode
  host: localhost
  port: 5432
  username: your_username
  password: your_password
  pool: 5

development:
  <<: *default
  database: metrics_development

test:
  <<: *default
  database: metrics_test
  1. Create database
$ rails db:create
  1. Run migration files
$ rails db:migrate
  1. Run db seed
$ rails db:seed
  1. Run rails server
$ rails s
  1. If you wish to run specs
$ rspec

API Endpoints

Metrics API

POST /api/v1/metrics
GET /api/v1/metrics
GET /api/v1/metrics/:id
PUT /api/v1/metrics/:id
DELETE /api/v1/metrics/:id

Metric Params:

{
  name: 'Player Retention Rate'
}

Metric Values API

GET /api/v1/:metric_id/values?from=2021-09-27T00:51:42%2B08:00&to=2021-10-04T23:59:59%2B08:00
POST /api/v1/:metric_id/values
DELETE /api/v1/:metric_id/values/:id

MetricValue params:

{
  value: 10,
  timestamp: Time.now
}

Setup the frontend

About


Languages

Language:Ruby 98.8%Language:Dockerfile 0.5%Language:HTML 0.4%Language:Shell 0.3%