SwiftUI Crypto app uses MVVM Architecture, Combine, CoreData and API request to CoinGecko. Crypto-Tracker allows user observe situation on market, track cryptocurrency prices, create and edit own portfolio.
- Project uses MVVM Architecture with additional layers between Model and Views. API request created in independent network layer of class
NetworkingManagerand using in differentDataServiceswith API requests. DataServicesconnected with ViewModel by@Publisherand@Subcriberspattern fromCombineframework. It allows to keep data actual condition. To avoid additional request to API download images saves infileManager.- User can create own cryptocurrency portfolio by add, edit and delete coins. All portfolio data saves in
CoreData. - The app implemented custom and reusable
SearchBar. Filtering data based on search bar text usingCombine. - User can reload the List of coins with updated data from API and sorting it by market position, price, and holdings with animations.
- In
DetailViewcreated a custom animated line chart to display historical price data. Downloaded data is displaying in grid format with reusable components. Coin description section has animated expand and collapse options. - Launch screen is combined with
UIKitandSwiftUIloading animation. Added app icon.
- Replace api calls to async/await


