Conceptually, our code has three layers, as shown in the following diagram:

These layers are as follows:
- REST: This package accepts the HTTP requests and converts them into function calls in the business logic. It then converts the business logic response back into HTTP.
- Business Logic: This is where the magic happens. This layer uses the external service and data layer to perform the business functions.
- External Services and Data: This layer consists of code that accesses the database and the upstream services that provides the currency exchange rates.
I used the word conceptually at the beginning of this section ...