A Spring Boot microservice for retrieving and managing currency exchange rates, demonstrating real-world API development and integration with external financial data sources.
- Retrieve ECB (European Central Bank) reference exchange rates
- Support for currency pair conversions
- Currency request tracking and statistics
- Flexible exchange rate calculations
- Java
- Spring Boot
- Spring Web
- JUnit
- Mockito
- Fetch exchange rates for various currency pairs
- Convert amounts between different currencies
- Track and report currency request frequencies
- Daily updated data retrieval from ECB reference rates
/{baseCurrency}/{targetCurrency}: Get exchange rate for a specific currency pair with an optional amount parameter/currencies: List supported currencies with request statistics/currencies/currency: Get currency usage statistics
Exchange rates are fetched daily from the European Central Bank's daily published reference rates, ensuring up-to-date financial information.
- In-memory caching of exchange rates
- Comprehensive unit and integration testing
- Clean, modular architecture
- Efficient error handling
- Java 21
- Docker
- See Dockerfile
mvn testProject developed as a technical assessment, demonstrating software engineering skills in API development and financial data integration.