Crypto App is a mobile application built using Swift and SwiftUI. It leverages the CoinGecko API to fetch cryptocurrency data and displays it in a list. The app utilizes CoreData for local storage, ensuring a seamless experience for users. It follows the MVVM (Model-View-ViewModel) architecture, making the codebase modular and maintainable.
- CoinGecko API Integration: The app fetches real-time cryptocurrency data from the CoinGecko API, providing users with up-to-date information on various coins.
- Swift and SwiftUI: Built with Swift, Apple’s powerful and intuitive programming language, and SwiftUI, a modern UI framework for building declarative user interfaces.
- CoreData for Storage: CoreData is employed for efficient and reliable local data storage, ensuring a smooth user experience even when offline.
- Combine Framework: The app utilizes the Combine framework to work with asynchronous and event-driven code. Publishers and subscribers are employed to manage and respond to changes in data.
- MVVM Architecture: Following the MVVM architectural pattern enhances code organization and separation of concerns, making the app more scalable and maintainable.
- Portfolio Management: Users can store their portfolio coins within the app. This information is securely saved to CoreData, allowing users to track and manage their cryptocurrency investments.
- External Links: The app includes links to external websites and Reddit pages for each coin, providing users with easy access to additional information.
- iOS 14.0+
- Xcode 12.0+
- Internet connection for real-time data updates
- Clone the repository to your local machine.
git clone https://github.com/Huss3n/CryptoSwiftUI.git
- Open the Xcode project file (CryptoApp.xcodeproj).
- Build and run the app on a simulator or a physical device running iOS 14.0 or later.
- Explore the app’s features and functionalities, including external links to coin websites and Reddit pages.
- Coin Website: Explore more about the coin on its official website.
- Reddit Page: Join the community discussions on Reddit.
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or create a pull request.
This project is licensed under the MIT License.