Aplikasi CrypTraces adalah MacOS Widget Crypto Tracker dengan SwiftUI, Combine & Cocoa-Pods 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).
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
- Realtime Crypto Currency Tracker
- Ping Scheduler
- CoinCap & WebSocket API
- Menu Bar MacOS Widget
- Cocoa & Combine Framework
- Network Monitoring (NWPathMonitor)
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
MIT License: Copyright (c) 2022 DK