CurrencyConverter is a Swift-based iOS application designed to seamlessly convert amounts between different currencies. Built using UIKit and Core Data, this app fetches real-time currency rates from Open Exchange Rates and stores them locally for quick access and offline usage.
- Real-Time Conversion: Convert any amount between multiple currencies with ease.
- Automatic Updates: Currency rates are fetched and updated every 30 minutes to ensure accuracy.
- Offline Mode: Currency rates are stored locally using Core Data, allowing conversions even without an internet connection.
- Unit Tested: Comprehensive unit tests ensure reliability and accuracy of currency conversions.
- MVVM Architecture: The project follows the Model-View-ViewModel (MVVM) architecture, promoting a clean, maintainable, and scalable codebase.
- Best Practices: Adheres to industry best practices, with a focus on decoupled design for easier maintenance and scalability.
CurrencyConverter integrates with the Open Exchange Rates API to obtain the latest exchange rates. The API endpoint used is:
GET https://openexchangerates.org/api/latest.json
To use this API, you need to create a free account on Open Exchange Rates and obtain your appid
.
To run this project, you will need to create Config.xcconfig
and add it to the Configurations
folder. Then, add the APP_ID
variable with the value you obtained in the previous step.
- Swift
- UIKit
- Core Data
- XC Test