BitTrek is a cryptocurrency portfolio tracker app designed to provide live cryptocurrency data, seamless user interaction, and efficient state management. This app is built using modern iOS development principles, adhering to the latest Swift 6 rules, concurrency standards, and thread-safe practices.
- Cryptocurrency Data: On-Demand updates fetched from the CoinGecko API.
- Portfolio Tracking: Track your cryptocurrency portfolio with ease and view insights into your holdings.
- Core Data Integration: Persist user data securely and efficiently.
- Swift Concurrency: Utilize Swift 6's concurrency features to ensure smooth performance and thread-safe operations.
- MVVM Architecture: Maintain a clean and scalable codebase with Model-View-ViewModel design.
- Cached Images: Cached coin logo to reduce api calls and thread loads
- Custom Charts: Custom charts to show coin data over 7 days
- Language: Swift 6
- Architecture: MVVM (Model-View-ViewModel)
- Local Storage: CoreData for persisting user data
- Networking: On-demand data integration from the CoinGecko API
- Concurrency: Utilizes
async/awaitfor network calls and CoreData operations, ensuring thread safety
-
Clone the repository:
git clone <repository-url>
-
Open the project in Xcode:
cd BitTrek open BitTrek.xcodeproj -
Build and run the app on a simulator or connected device.
BitTrek follows the MVVM architecture, ensuring a clean separation of concerns and testability:
- Model: Represents the data layer, including CoreData entities and API response models.
- View: Handles the UI components and binds to the ViewModel.
- ViewModel: Serves as the intermediary between the Model and View, implementing business logic and exposing data to the UI.
- Uses
URLSessionwithasync/awaitto fetch live cryptocurrency data from the CoinGecko API. - Implements error handling for network requests, ensuring smooth user experience.
- Efficiently persists user data such as portfolio holdings.
- Thread-safe operations using Swift concurrency to prevent data corruption.
- Fully compliant with Swift 6 concurrency standards.
- Ensures thread-safe access to CoreData and background tasks with
@MainActorand structured concurrency.
- iOS 18.0 or later
- Add push notifications for cryptocurrency price alerts.
- Implement advanced analytics and charts for portfolio trends.
- Multi-language support for international users.
- API: CoinGecko API
- Developer: [Kush Patel]
- Guidence: Nick Sarno
This project is licensed under the MIT License. See the LICENSE file for details.
Thank you for using BitTrek!