A 3-in-1 application that allows you to:
- Convert any currency to another.
- Translate any supported languages.
- Compare the local weather with all your favorite places.
- Overview
- Requirements
- Features
- Technologies Used
- Getting Started
- Dependency
- Architecture
- Demo
- License
- iOS 15.0+
- 1st page: Currency (Exchange rates)
- UX/UI inspired by the "Currency converter - Money" app.
- List of the most traded currencies.
- Personnal editable list to add or remove currencies.
- Real-time currency conversion as you type an amount on the selected currency of your choice.
- Applying SVG flags from FlagKit.
- 2nd page: Google translate
- UX/UI inspired by the "Google Translate" app.
- Write the sentence of your choice in any auto-detected language and receive its translation in another language of your choice.
- The source/target language can be modified by selecting from a list of supported languages.
- A search bar can also be used to facilitate your language selection.
- Option to reverse source and target languages.
- 3rd page: Weather
- UX/UI inspired by the official Apple weather app.
- User-friendly search functionality.
- Display weather information for any city of your choice.
- The list is customizable for sorting, adding or removing loactions and converting Celsius to Fahrenheit.
- High-quality SVG icons for most weather forecast senarios.
- Responsive Layout from the iPhone SE (3rd Generation) and subsequent versions.
- Design Tools: Figma.
- UX/UI: UIKit, via storyboard and code.
- Asynchronous Operations: DispatchQueue for multitasking.
- API Integration: fixer.io, Google Translate, Google Places and OpenWeatherMap.
This application uses Install/Update CocoaPods to manage dependencies.
- Visit fixer.io or APILayer and subscribe to get a free Fixer API key.
- Visit Google API Console Help and follow the instructions to gain access to the Google Places and Google Translate APIs.
- Visit OpenWeather to obtain an API key (note that OpenWeather services now require payment, albeit at a low cost per request).
- Install required dependency (see below).
- Open the project and create a new file named
Secrets.xcconfig
. - Add your own API keys in the following format:
GOOGLE_API_KEY = "YOUR_GOOGLE_API_KEY"
OPEN_WEATHER_API_KEY = "YOUR_OPEN_WEATHER_API_KEY"
FIXER_API_KEY = "YOUR_FIXER_API_KEY"
This application requires the pod GooglePlaces
This project relies on MVC Architecture with a separate Network layer.
See LICENSE.md for details