Skip to content

avcherkasov/currency-exchanger-demo

Repository files navigation

Currency Exchanger Demo

Demonstration of currency exchanger

Developers

Requirements

Contents

  1. Protocol - Definition of the protocol of interaction
  2. Proxy CBR - Proxy to interact with a currency provider with Central Bank of Russia (CBR)
  3. Currency exchanger - Produces data on currency and its conversion
  4. Spring boot admin - Spring Boot Admin is a simple application to manage and monitor your Spring Boot Applications

Preparing for demo

  1. Run all applications, they will be available on the URL:
  2. Automatically for the current date for the proxy will take currency rates
  3. We go through the links and demonstrate the basic functionality
  4. Disable the database for an arbitrary currency for a particular vendor and show that it no longer gets
  5. We disable in the database of a particular vendor and show that it no longer participates in the exchange rate
  6. Turn everything back on
  7. Show how to quickly add a new type of currency to the database and bind it to the supplier to get the exchange rate
  8. 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)
  9. We show in the database records for rates tied to specific suppliers
  10. 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

What else can be improved

  • 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

Change log

Releases

No releases published

Packages

No packages published

Languages