An open API service indexing awesome lists of open source software.

https://github.com/thatoneindiedev/swiftcryptoapp

A Crypto App made in swiftUI using Xcode using the MVVM Architecture, Combine, CoinGecko and Core Data.
https://github.com/thatoneindiedev/swiftcryptoapp

Last synced: 5 months ago
JSON representation

A Crypto App made in swiftUI using Xcode using the MVVM Architecture, Combine, CoinGecko and Core Data.

Awesome Lists containing this project

README

          

# SwiftCryptoApp

SwiftCryptoApp is a SwiftUI-based cryptocurrency tracking app that follows the MVVM architecture. It leverages Combine for reactive programming, Core Data for local persistence, and the CoinGecko API to fetch real-time cryptocurrency data.

![Demo 1](Assets/CRYPTOAPP%20DEMOS/SCREEN1.gif)

## Features

📈 Real-time cryptocurrency prices (via CoinGecko API)

📊 Portfolio tracking with Core Data persistence

🎨 SwiftUI-based UI with smooth animations

âš¡ MVVM architecture with Combine for reactive data flow

🌙 Dark mode support

## Installation

### Clone the repository:

1. git clone https://github.com/your-repo/SwiftCryptoApp.git

2. Open SwiftCryptoApp.xcodeproj in Xcode.

3. Ensure you have Xcode 15+ installed.

4. Install dependencies (if any) using Swift Package Manager.

5. Run the project on a simulator or real device.

## Usage

### Home Screen:
View the latest crypto prices and market trends.

### Portfolio:
Add and manage your favorite cryptocurrencies.

### Settings:
Customize the app's preferences.

![Demo 1](Assets/CRYPTOAPP%20DEMOS/SCREEN2.gif)

## Architecture

### SwiftCryptoApp follows the MVVM (Model-View-ViewModel) architecture, ensuring a clean and maintainable code structure.

Model: Defines the data structure (e.g., CoinModel.swift)

ViewModel: Handles business logic and API calls (e.g., HomeViewModel.swift)

View: Displays UI components (e.g., HomeView.swift)

## Dependencies

SwiftUI: For UI design

Combine: For reactive data binding

Core Data: For local storage

CoinGecko API: To fetch cryptocurrency data

![Demo 1](Assets/CRYPTOAPP%20DEMOS/SCREEN3.gif)

## API Configuration

Obtain an API key from CoinGecko

Add it to Secrets.plist in the project

## Contribution

Feel free to fork this repository, submit issues, or open pull requests.

## License

This project is licensed under the MIT License.

## AI IMPLEMENTATION:
Coming soon...

# 🚀 Happy Coding! 🎉