Store daily currency rates in SQL database for given time.
Provide simple API like web interface for stored rates obtaining.
sudo apt install lsb-release wget apt-transport-https bzip2
wget -qO- https://repo.vitexsoftware.com/keyring.gpg | sudo tee /etc/apt/trusted.gpg.d/vitexsoftware.gpg
echo "deb [signed-by=/etc/apt/trusted.gpg.d/vitexsoftware.gpg] https://repo.vitexsoftware.com $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/vitexsoftware.list
sudo apt update
sudo apt install cnb-cache-DATABASE
database can be mysql
or sqlite
Support the apache2 and lighthttpd web servers:
First Configure the currencies to be cached
Then set the days to keep the cache
And finally the cache is initialized:
Data stored in database:
Final configuration is stored in /etc/cnb-cache/cnb-cache.env
file
After installation the currencies listing is available on the /cnb-cache/
path.
you can use following URL parameters:
-
currency
- currency code (default: CZK) -
when
- date of rate (default: today) -
date
- date of rate in format YYYY-MM-DD -
age
- age of rate in days (default: 0) -
when
- yesterday, beforeyesterday - today is default -
http://localhost/cnb-cache/?currency=eur - todays EUR rate
-
http://localhost/cnb-cache/?currency=USD&when=yesterday - yesterday $ rate
{
"id": 6,
"date": "2025-01-24",
"currency": "dolar",
"amount": 1,
"code": "USD",
"rate": 23.958,
"age": 2
}
The systemd-crond service is started and the cache is updated every day at 0:01 AM
See also: https://github.com/Spoje-NET/pohoda-raiffeisenbank