CrypTraces
Aplikasi CrypTraces adalah MacOS Widget Crypto Tracker dengan SwiftUI, Combine & Cocoa Framework, dan WebSocket & CoinCap API. Aplikasi ini berbentuk Widget di Menu Bar MacOS dengan menampilkan beberapa Crypto Currency seperti Bitcoin (BTC), Ethereum (ETH), Dogecoin (DOGE), Monero (XMR), dan Litecoin (LTC).
Preview
Folder & File Structure
Berikut struktur file dan folder pada CrypTraces:
.
├── CrypTraces.swift # Root Project: Main App dengan Base Empty View di MacOS App
├── Info.plist # Network - Enable Internet Access in Xcode for macOS App
├── AppDelegate.swift # Berisikan Fungsi App Launch Handler
├── APIService # APIService: Fungsi API Service
│ └── CoinCapPriceService.swift # Berisikan Fungsi API Connection, Network Monitoring, (Receive, Record, & Convert Data), Ping Scheduler
│
├── Model # Model: Deklarasi Data Coin & CoinType
│ ├── Coin.swift # Berisikan Deklarasi Data Representation dari Coincap & Websocket (name & value)
│ └── CoinType.swift # Berisikan Deklarasi Data Coin-coin Crypto Currency
│
├── View # View: Tampilan Frontend Widget
│ ├── MenuBarCoinView.swift # Berisikan Tampilan Frontend Menu Bar Widget
│ └── PopoverCoinView.swift # Berisikan Tampilan Frontend Popup
│
└── ViewModel # ViewModel: Fungsi Realtime Update Data (Coin Prices)
├── MenuBarCoinViewModel.swift # Berisikan Fungsi Update Data Coin Value (Prices) di Menu Bar dengan Combine Subscriber
└── PopoverCoinViewModel.swift # Berisikan Fungsi Update Data Coin Value (Prices) di Popover dengan Combine Subscriber
Features:
- Realtime Crypto Currency Tracker
- Ping Scheduler
- CoinCap & WebSocket API
- Menu Bar MacOS Widget
- Cocoa & Combine Framework
- Network Monitoring (NWPathMonitor)
Build With:
Installation
Untuk menggunakan repositori ini, ikutilah petunjuk penggunaan berikut dan pastikan git sudah terinstall pada komputer (semua perintah dilaksanakan pada cmd.exe
atau terminal
):
- Lakukan download .zip atau
clone
repositori dengan cara:
git clone https://github.com/dekapd99/CrypTraces.git
- Jika sudah silahkan buka Project di Xcode.
- Pastikan hal ini: Buka info.plist dan cek Enable Internet Access in Xcode for macOS App: Klik Project CrypTraces > Signing & Capabilities > App Sandbox (Checklist Network: Outgoing Connections (client))
- Build & Run
License
MIT License: Copyright (c) 2022 DK