- Docker
- Docker-compose
- Clone the project
$ git clone git@github.com:mikkotan/metrics-api.git
- Change directory
$ cd metrics-api
- Build with docker
$ docker-compose build
- Create database
$ docker-compose run --rm web rails db:create
- Run migration files
$ docker-compose run --rm web rails db:migrate
- Run db seed
$ docker-compose run --rm web rails db:seed
- Run containers
$ docker-compose up -d
- Run tests
$ docker-compose run --rm web rspec
- ruby-3.0.2
- Rails 6.1.4
- PostgreSQL (latest)
- Follow steps 1 and 2 above
- Install dependencies
$ bundle install
- 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
- Create database
$ rails db:create
- Run migration files
$ rails db:migrate
- Run db seed
$ rails db:seed
- Run rails server
$ rails s
- If you wish to run specs
$ rspec
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
}
- Visit this link