Demonstration of currency exchanger
- Protocol - Definition of the protocol of interaction
- Proxy CBR - Proxy to interact with a currency provider with Central Bank of Russia (CBR)
- Currency exchanger - Produces data on currency and its conversion
- Spring boot admin - Spring Boot Admin is a simple application to manage and monitor your Spring Boot Applications
- Run all applications, they will be available on the URL:
- http://127.0.0.1:8101 - Proxy CBR
- http://127.0.0.1:8102 - Proxy NBRB
- http://127.0.0.1:8090 - Currency exchanger
- http://127.0.0.1:8300 - Spring boot admin
- Automatically for the current date for the proxy will take currency rates
- We go through the links and demonstrate the basic functionality
- Disable the database for an arbitrary currency for a particular vendor and show that it no longer gets
- We disable in the database of a particular vendor and show that it no longer participates in the exchange rate
- Turn everything back on
- Show how to quickly add a new type of currency to the database and bind it to the supplier to get the exchange rate
- Show how to quickly connect a new exchange rate provider proxy with individual proxy settings and how on the fly you can change the URL (Proxy NBRB)
- We show in the database records for rates tied to specific suppliers
- Show the status of running applications in a spring boot admin
- Default access: admin / admin
In conclusion:
- All the interaction of exchange rates with proxies is built on a single protocol in the same data format, which allows you to implement vendor proxy in any language by implementing a single protocol of interaction
- All settings are in the database, which does not require stopping and launching the application
- Integration is possible in any language
- Add caching
- Think over the protocol of interaction more carefully
- Implement a helper library to work with the date on proxy, so as not to duplicate
- Receiving a currency on a schedule based on the configuration in the database
- Personal cabinet for managing data in the database with access by roles
- Transfer of incoming currency to a minor unit
- Start in the container and check the start of the container
- Prepare a docker-composer
- To work out possible errors and their correct output
- Interact with the database to implement on JDBC
- Beautiful documentation
- Add CI
- And much more