![cover](https://private-user-images.githubusercontent.com/122683142/327088459-e3ea72bc-9b00-494c-8fa2-b1fb2d000d54.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwODQyNzgsIm5iZiI6MTcyMDA4Mzk3OCwicGF0aCI6Ii8xMjI2ODMxNDIvMzI3MDg4NDU5LWUzZWE3MmJjLTliMDAtNDk0Yy04ZmEyLWIxZmIyZDAwMGQ1NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwNFQwOTA2MThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNWM3ZjczOTUyMThkNDAwMDYxMmU0MjljZjcyNjViNmU1N2RkZjc1N2EzMTk2Y2E4NTQyYTA2ZjAwN2MxNDYzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.kiTru3b3hDpl14Qerzkplg3dCyoSFTZ-1u5aQVA_oP0)
Currencies is an iOS mobile app developed with Swift and SwiftUI in Xcode. Simply enter an amount, choose your currencies and get real-time conversion rates at your fingertips. Ideal for travelers and finance enthusiasts alike, this app ensures you have the latest currency information quickly and easily.
![browse](https://private-user-images.githubusercontent.com/122683142/329877264-51614355-a50f-4821-bf1e-2c9316374d5c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwODQyNzgsIm5iZiI6MTcyMDA4Mzk3OCwicGF0aCI6Ii8xMjI2ODMxNDIvMzI5ODc3MjY0LTUxNjE0MzU1LWE1MGYtNDgyMS1iZjFlLTJjOTMxNjM3NGQ1Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwNFQwOTA2MThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYTIxYWQzODVhNTVhYWFjYjY4OWYyM2YxOWFiNTdjYzYxMDI3YTNhMDhhMzliNTQ5MjVmZDE5OGU3YWI3N2VkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.QIWsa0MEfXr4WsqOt8m92oCxSiqYZClAbJpw2xfjYns)
![convert](https://private-user-images.githubusercontent.com/122683142/327088503-465c7656-abae-4ad4-84f9-ef157c0ad770.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwODQyNzgsIm5iZiI6MTcyMDA4Mzk3OCwicGF0aCI6Ii8xMjI2ODMxNDIvMzI3MDg4NTAzLTQ2NWM3NjU2LWFiYWUtNGFkNC04NGY5LWVmMTU3YzBhZDc3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwNFQwOTA2MThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kODc5OTg0ZDg1ZDM1OWVmYmIzOWJmM2E3NmQ2OTM1ZTE1YzhkZDViYTAzNzg5ZjNjNTRkZmE1M2E3ZmU3OWRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.azmDfiAcOoV4zeka58v2cx8xsizY1NJwpSUooYZ7Vv8)
![base](https://private-user-images.githubusercontent.com/122683142/327088529-71fef8d9-8fec-4e08-b384-bca31e388f9e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwODQyNzgsIm5iZiI6MTcyMDA4Mzk3OCwicGF0aCI6Ii8xMjI2ODMxNDIvMzI3MDg4NTI5LTcxZmVmOGQ5LThmZWMtNGUwOC1iMzg0LWJjYTMxZTM4OGY5ZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwNFQwOTA2MThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05YTJhYzA1MmFmMTYyMWExODM3MzYwN2M0NjQ5MzYxMTNkZmIwOTIzOWRkZTcyYzIzMzFkYTkwZjk3ZDA4YWJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.sgYKq3raCd-8PaKFXPOhC3qZfyDpQ3rxC_pjjHJrbHU)
![mode](https://private-user-images.githubusercontent.com/122683142/326956158-0ecb5539-614e-44f0-87fa-4d71cd632a3f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAwODQyNzgsIm5iZiI6MTcyMDA4Mzk3OCwicGF0aCI6Ii8xMjI2ODMxNDIvMzI2OTU2MTU4LTBlY2I1NTM5LTYxNGUtNDRmMC04N2ZhLTRkNzFjZDYzMmEzZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzA0JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcwNFQwOTA2MThaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hZTVhY2MyZDFjODEwOWQxNTYxZWNjOWVlOWNkYWRkZDJhOGI3OTBlYWE2MGZlY2I5MGZkZTVmYjFlYjM2YmVkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.1XDymP3rCna0MxPdWgveQqA9q1R6SfteSElV2kbfZms)
run.mp4
For persistent data like display and currency code the @AppStorage property wrapper was used.
@AppStorage("selectedCurrencyBase") var selectedCurrencyCode: String = "EUR"
@AppStorage("isDarkModeEnabled") var isDarkModeEnabled = false
For the implementation of the Currencies application, I utilized the ExchangeRate-API, which allows you to retrieve current currency exchange rates, perform currency conversions and fetch historical exchange rate data.
Parameter | Type | Value | Description |
---|---|---|---|
api_key |
string |
b1b71f168dab8cfbff14f4d3 | Required |
currency_base |
string |
EUR | Required |
GET https://v6.exchangerate-api.com/v6/b1b71f168dab8cfbff14f4d3/latest/EUR
This will return (with JSON format) the exchange rates from your base code to all the other currencies which supported:
{
"result":"success",
"documentation":"https://www.exchangerate-api.com/docs",
"terms_of_use":"https://www.exchangerate-api.com/terms",
"time_last_update_unix":1715558401,
"time_last_update_utc":"Mon, 13 May 2024 00:00:01 +0000",
"time_next_update_unix":1715644801,
"time_next_update_utc":"Tue, 14 May 2024 00:00:01 +0000",
"base_code":"EUR",
"conversion_rates":{
"EUR":1,
"AED":3.9561,
"AFN":77.7023,
"ALL":100.5079,
"AMD":418.0317,
"ANG":1.9283,
"AOA":907.8752,
"ARS":931.5387,
"AUD":1.6318,
"...":1.9283,
"...":1.8379,
"...":28.8929,
"ZWL":14.5678
}
}
Xcode | GitHub | Figma | Postman |
---|---|---|---|
Swift | SwiftUI |
---|---|
I'm always open to questions, suggestions and comments. If you have any questions or need assistance, feel free to contact me at nicktheodoridiscontact@gmail.com or through my GitHub account.
Follow me on social media for the latest news and updates:
- Twitter: nickiOSDev
- Instagram: nickmadethisone
- LinkedIn: Nikolaos Theodoridis
This project is distributed under the Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).
This means you can use, modify and share this work under the following conditions:
- You must attribute the original creator (attribution).
- You may not use this work for commercial purposes (non-commercial use).