goexrates

module
v0.0.0-...-0471c36 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2023 License: MIT

README

Go Report Card

💰 goexrates

A foreign exchange rates and currency conversion API that exposes data published by European Central Bank.

The rates are updated daily around 4PM CET.

Usage

Get the latest foreign exchange reference rates in JSON format.

GET /v1/latest
Host: localhost:3000

Get historical rates for any day since 1999-01-04.

GET /v1/historical/2008-03-18
Host: localhost:3000

Rates are quoted against the Euro by default. Quote against a different currency by setting the base parameter in your request.

GET /v1/latest?base=USD
Host: localhost:3000

Request specific exchange rates by setting the codes parameter.

GET /v1/latest?codes=USD,GBP
Host: localhost:3000

Response format.

{
    "base": "EUR",
    "date": "2021-05-05",
    "rates": {
        "AUD": 1.4832,
        "PLN": 4.2173,
        "MYR": 4.7543,
        "USD": 1.0961,
        [41 world currencies],
    }
}

Run

# Build and start containers:
docker compose up -d
# Enter api container:
docker exec -it api bash
# Apply database migrations:
make db/migrations/up
# Populate database with rates published by ECB (check goexrates-cli --help):
goexrates-cli load historical
# Run the API:
goexrates-api

API's endpoints can be accessed at localhost:3000. Both API (3000) and database (5432) ports are published and can be accessed via localhost:port.

Run make help to see all available commands and goexrates-cli --help to see more informations about additional CLI commands that help to manage common/recurring tasks.

Directories

Path Synopsis
cmd
api
cli
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL