README.md

# Bundesbank

[![Hex.pm](https://img.shields.io/hexpm/v/bundesbank.svg?maxAge=2592000)](https://hex.pm/packages/bundesbank) [![Hex Docs](https://img.shields.io/badge/hex-docs-9768d1.svg)](https://hexdocs.pm/bundesbank)

A collection of German Bank Data including BIC, Bankcodes, PAN and more useful information based on the [Bundesbank Data Set](https://www.bundesbank.de/de/aufgaben/unbarer-zahlungsverkehr/serviceangebot/bankleitzahlen/download-bankleitzahlen-602592)

**Current Data Set is Valid until March, 3rd 2021**

## Installation

The package can be installed
by adding `bundesbank` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:bundesbank, "~> 0.3.0"}
  ]
end
```

run `mix deps.get`

## Usage

Get all banks from the collection

```elixir
banks = Bundesbank.all
Enum.count(banks)
# 15788
```

Filter banks by a given key.

```elixir
[
  :code,
  :property,
  :description,
  :postal_code,
  :city,
  :bank_name,
  :pan,
  :bic,
  :mark_of_conformity,
  :record_number,
  :change_code,
  :delete_code,
  :emulation_code
]
```

```elixir
bank = Bundesbank.filter_by(:code, "20050000")
# [%Bundesbank.Bank{bank_name: "Hamburg Commercial Bank", bic: "HSHNDEHHXXX", change_code: "U", ...
banks = Bundesbank.filter_by(:city, "Berlin")
# [%Bundesbank.Bank{bank_name: "BBk Berlin", bic: "MARKDEF1100", change_code: "U", ...
Enum.count(banks)
# 101
```

## Contributing

1. Fork it
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am "Add some feature")
4. Push to the branch (git push origin my-new-feature)
5. Create new Pull Request