mirror of
https://github.com/hakanensari/frankfurter.git
synced 2024-10-29 23:32:35 +01:00
a96e56808e
... along with some minor miscellaneous refactoring This finally completes fixerAPI/fixer#22 |
||
---|---|---|
bin | ||
config | ||
db/migrate | ||
lib | ||
spec | ||
.dockerignore | ||
.env.example | ||
.eslintrc | ||
.gitignore | ||
.rubocop.yml | ||
.tool-versions | ||
.travis.yml | ||
app.json | ||
config.ru | ||
docker-compose.override.yml | ||
docker-compose.prod.yml | ||
docker-compose.yml | ||
Dockerfile | ||
Gemfile | ||
Gemfile.lock | ||
Guardfile | ||
LICENSE | ||
limit_req.conf | ||
Rakefile | ||
README.md |
Frankfurter
Frankfurter is a free API for current and historical foreign exchange rates published by the European Central Bank.
Rates are updated around 4PM CET every working day.
Usage
Get the current foreign exchange rates.
GET /current
Get historical rates for any day since 1999.
GET /2000-01-03
Rates quote against the Euro by default. Quote against a different currency.
GET /current?from=USD
Request specific exchange rates.
GET /current?to=GBP
Change the converted amount.
GET /current?amount=100
Finally, use all the above together.
GET /current?from=EUR&to=GBP&amount=100
The primary use case is client side. For instance, with money.js in the browser
let demo = () => {
let rate = fx(1).from("GBP").to("USD")
alert("£1 = $" + rate.toFixed(4))
}
fetch('https://yourdomain.com/current')
.then((resp) => resp.json())
.then((data) => fx.rates = data.rates)
.then(demo)
Installation
To build locally, type
docker-compose up -d
Now you can access the API at
http://localhost:8080
In production, first create a .env
file based on .env.example
. Then, run with
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
To update to a newer image
docker-compose -f docker-compose.yml -f docker-compose.prod.yml pull
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
Within a few minutes, you will be able to access the API at
https://yourdomain.com:8080