This app is a currency exchange and tracking application built using UIKit with a modern architecture. It follows the MVVM (Model-View-ViewModel) pattern along with the Coordinator pattern for navigation. The user interface is created programmatically without the use of storyboards, ensuring a clean and modular design. The app leverages the RealmSwift framework for data persistence.
- Exchange Rate Tracking: Users can easily access the current exchange rates for various currencies. This feature helps users stay informed about the latest currency conversion rates.
- MVVM + Coordinator Architecture: The app employs the MVVM architecture for a clear separation of concerns between data, presentation, and user interactions. Additionally, the Coordinator pattern is used to handle navigation and flow control.
- Programmatic UI: The user interface is constructed programmatically, avoiding the use of Interface Builder and storyboards. This approach promotes maintainability, flexibility, and better version control.
- Data Persistence: The app utilizes RealmSwift, a mobile database framework, to provide reliable data storage capabilities. Users can securely store their own bids or wallet balances even when offline.
- Custom Bids and Wallet: Users have the ability to add and manage their own bids or wallet balances in dollars. This feature enhances the app's usability by allowing users to keep track of their financial activities.
- Offline Functionality: The app ensures that users can access their bids and wallet balances even without an internet connection. This is achieved through the offline capabilities provided by RealmSwift's data storage.
| Currency List | Wallet | Bids |
|---|---|---|
- iOS 15.0+
- Xcode 14.0+
- Clone repository on your Mac
- Open CurrencyConverter.xcodeproj file in Xcode
- Build by pressing
⌘ +
R - Enjoy!