d74fefa9c9
- Add .dockerignore - Use version 3 - Move wait_for_it.sh to docker-compose.yml - Persist db data - Use nginx-proxy - Use Letsencrypt in production - Rate limit in production |
||
---|---|---|
config | ||
db/migrate | ||
deploy | ||
lib | ||
public | ||
spec | ||
.dockerignore | ||
.env.sample | ||
.gitignore | ||
.pryrc | ||
.rubocop.yml | ||
.ruby-gemset | ||
.ruby-version | ||
.travis.yml | ||
config.ru | ||
docker-compose.override.yml | ||
docker-compose.prod.yml | ||
docker-compose.yml | ||
Dockerfile | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
limit_req.conf | ||
Procfile | ||
Rakefile | ||
README.md | ||
wait-for-it.sh |
Fixer.io
Fixer.io is a free JSON API for current and historical foreign exchange rates published by the European Central Bank.
The rates are updated daily around 4PM CET.
Usage
Get the latest foreign exchange reference rates in JSON format.
GET /latest
Host: api.fixer.io
Get historical rates for any day since 1999.
GET /2000-01-03
Host: api.fixer.io
Rates are quoted against the Euro by default. Quote against a different currency by setting the base parameter in your request.
GET /latest?base=USD
Host: api.fixer.io
Request specific exchange rates by setting the symbols or currencies parameter.
GET /latest?symbols=USD,GBP
Host: api.fixer.io
Make cross-domain JSONP requests.
GET /latest?callback=?
Host: api.fixer.io
An HTTPS endpoint is also available at https://api.fixer.io.
Use money.js in the browser.
var demo = function(data) {
fx.rates = data.rates
var rate = fx(1).from("GBP").to("USD")
alert("£1 = $" + rate.toFixed(4))
}
$.getJSON("http://api.fixer.io/latest", demo)
Docker
You can run a local instance of the app using Docker.
Bring the stack up.
docker-compose up -d
Initialize the database and seed data.
docker-compose run web rake db:migrate rates:load
docker-compose restart web
FAQ
"The API returns data for a date other than the date I asked for!"
If the value of the date
-property doesn't match the date you requested via query parameters that is due to the European Central Bank only publishing exchange rates for working days. In such cases, the exchange rates of the last working day are returned. #47