# Reference Application
source: https://developer.mastercard.com/enhanced-currency-conversion-calculator/documentation/developer-tools/reference-app/index.md

Apart from calling the Enhanced Currency Conversion Calculator API with a REST client such as Postman or Insomnia, Mastercard provides a reference application (Java) that demonstrates how to connect to and call every Enhanced Currency Conversion Calculator API service with a properly signed OAuth 1.0a request.

## What It Demonstrates {#what-it-demonstrates}

* Signing a request using Mastercard's [OAuth 1.0a signing library for Java](https://github.com/Mastercard/oauth1-signer-java).
* Calling all four services --- `Conversion-rate-summary`, `Conversion-rate-issued`, `Mastercard-currencies`, and `Ecb-currencies` --- from a single Spring Boot + Thymeleaf web application.

## Prerequisites {#prerequisites}

* A development environment with your IDE of choice.
* JDK 8 installed locally.
* Maven 3 installed locally.
* Sandbox credentials (Consumer Key, `.p12` keystore, keystore password, and key alias) from your Mastercard Developers project --- see [Quick Start Guide](https://developer.mastercard.com/enhanced-currency-conversion-calculator/documentation/quick-start-guide/index.md).

## Get the Source Code {#get-the-source-code}

[enhanced-conversion-reference-app.zip](https://static.developer.mastercard.com/content/enhanced-currency-conversion-calculator/uploads/enhanced-conversion-reference-app.zip) (210KB) Note: The Reference Application built is for reference purposes only. Your production application does not need to function the same way.

## Setup and Run {#setup-and-run}

1. Extract the downloaded archive and set `mastercard.consumer.key`, `mastercard.keystore.alias`, `mastercard.keystore.pass`, and `mastercard.p12.path` in `application.properties` to your Sandbox credentials.
2. From the project's base directory, run `mvn clean install` to build and test the application.
3. Run `mvn spring-boot:run` to start it.
4. Browse to <http://localhost:8080> and select an endpoint from the drop-down to call the Sandbox and view the raw JSON response.

For the full step-by-step walkthrough, including how the request signing code works, see [How to Integrate using Reference Application](https://developer.mastercard.com/enhanced-currency-conversion-calculator/documentation/tutorials-and-guides/how-to-integrate-using-reference-application-tutorial/index.md).
