Skip to content

dekapd99/CovStats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CovStats

CovStats adalah aplikasi iOS Data Statistik Internasional Covid-19 yang datanya didapatkan dari rapidapi.com dengan struktur REST API. Dibuat menggunakan SwiftUI, MVVM Design Pattern, dan REST APIs dari rapidapi.com. Aplikasi ini memiliki fitur Storing Cache Locally, Search, Custom Alert, Responsive Layout Display, Number Formatting, dan Dark Mode Integration.

Preview

Folder & File Structure

CovStats mengikuti pedoman design pattern dengan 3 komponen, yaitu Model, View, & ViewModel (MVVM). Berikut struktur file dan folder pada CovStats:

.
├── CovStatsApp.swift
├── ContentView.swift          # Berisikan Tampilan Halaman Beranda Aplikasi sebagai View Utama
├── Assets.xcassets            # Berisikan Default cardBackground dan App Icon
│
├── API                        # API: API Service (Fetch Data Globally & Locally) dan Store & Save Countries Data Locally
│   ├── LocalFileManager.swift # Berisikan Fungsi (Store & Save, Fetch from Saved, dan Helper) Data Countries
│   └── CovStatsAPI.swift      # Berisikan Fungsi Decode JSON File, Fetch (data, response, & error) via URL Session dengan method GET, & Generate 
│                                Hasil (Total Data, Negara, dan Report)
│
├── Errors                     # Error: Custom Error dan Custom Alert ketika Gagal Fetch API dari Server
│   ├── CustomError.swift      # Berisikan 2 Error Case untuk Incorrect URL dan No Data Received
│   └── AlertItem.swift        # Berisikan Deklarasi Singleton Alert Item dan Macam-macam Alert Context
│
├── Extension                  # Extension: Custom Extension untuk Format Penulisan Angka (Data Kasus)
│   └── Extension+Int.swift    # Berisikan Custom Format Number Decimal & Format Pembulatan Digit Jutaan (ex. "5.1 Juta")
│
├── Models                     # Models: API Data Declaration
│   ├── Regions.swift          # Berisikan Endpoints Data Regions
│   ├── Report.swift           # Berisikan Endpoints Data Report
│   └── TotalData.swift        # Berisikan Endpoints Data TotalData
│
├── ViewModels                          # ViewModel: Fungsi Information Handler (Data Bindings) yang Berkomunikasi Langsung dengan UI di Views
│   ├── CountryDetailViewModel.swift    # Berisikan Fungsi Fetch Report berdasarkan Country (Kode iso)
│   └── MainViewModel.swift             # Berisikan Fungsi Fetch Total Data dan Fetch All Countries
│
└── Views                           # Views: Controller UI & Frontend Related (Show & Get Data from ViewModels)
    ├── CountryDetailView.swift     # Berisikan Tampilan Halaman Provinsi ketika Salah Satu Negara dipilih (jika ada maka ditampilkan)
    ├── DataCardView.swift          # Berisikan Default Card Wrapper untuk Masing-masing Data (TotalDataView)
    ├── SearchBarView.swift         # Berisikan Bar Form untuk Kolom Search
    ├── TotalDataView.swift         # Berisikan Layout 4 DataCardView untuk Tampilan Masing-masing Data Kasus Covid-19
    └── ReportView.swift            # Berisikan Tampilan Halaman Report untuk Negara atau untuk Negara per-bagian Provinsi

Features:

  • MVVM Design Pattern
  • Search
  • Storing Cache Locally
  • Custom Alert
  • Responsive Layout Display
  • Number Formatting
  • Dark Mode Integration

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):

  1. Lakukan download .zip atau clone repositori dengan cara:
git clone https://github.com/dekapd99/CovStats.git
  1. Buka project di Xcode dan copy API Key dari rapidapi.com (Pastikan Anda sudah login)
  2. Jika sudah, buka Project Navigation klik API > CovStatsAPI.swift, paste string pada variabel X-RapidAPI-Key (line 21) dengan API Key Anda.
"X-RapidAPI-Key": "copy & paste your api key here", // Replace API Key disini
  1. Build & Run

License

MIT License: Copyright (c) 2022 DK

(back to top)

About

Aplikasi iOS Statistik Internasional Penyebaran Covid-19 dengan SwiftUI, MVVM Design Pattern, dan REST APIs dari rapidapi.com

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages