frankfurter

💱 Exchange rates API

513
92
Ruby

Frankfurter

Build

Frankfurter is a free and open-source currency data API that tracks reference exchange rates published by the European Central Bank.

Deployment

Using Docker

The simplest way to run Frankfurter is with Docker:

docker run -d -p 8080:8080 \
  -e "DATABASE_URL=<postgres_url>" \
  --name frankfurter hakanensari/frankfurter

Using Docker Compose

For a complete setup including PostgreSQL:

  1. Copy the docker-compose.yml file
  2. Run:
docker compose up --wait

Contributing

Frankfurter is built with Ruby. To contribute:

  1. Fork.
  2. Install dependencies with bundle install.
  3. Run tests with bundle exec rake.
  4. Push your changes to a feature branch.
  5. Open a pull request.

Roadmap

  • [ ] Infrastructure

    • [ ] Migrate from PostgreSQL to SQLite for simpler deployment.
    • [ ] Add API versioning in URL path.
  • [ ] Data Sources

    • [ ] Add support for multiple data providers.
      • [ ] IMF
      • [ ] Other central banks
  • [ ] API Features

    • [ ] Add GraphQL endpoint.