Project ini bertujuan untuk mengarsipkan dan menyalin Data Gambar C1 yang ada, apabila suatu waktu URL KPU tidak bisa diakses atau ada perubahan yang tidak diharapkan. Semua orang bisa mudah memiliki arsipnya sendiri-sendiri terdistribusi lokal.
Adanya Data Gambar C1 ini bisa digunakan sebagai data pembanding untuk diolah lagi dengan verifikasi manual atau diperiksa ulang di sistem lain. Sedangkan untuk rekap dan scraper data angka dll-nya sendiri tersedia, seperti:
Sebagai awalan, sementara ini file yang penting ada di modul BatchDownloadTpsC1
logic utama projectnya. Idenya mengambil list TPS yang belum di-download dari modul GetIncompleteTps
lalu diunduh ke lokal dan disimpan di Google Drive apabila diperlukan
Beberapa hal yang perlu diperhatikan
- Jalankan
tar -xzf result.db.tar.gz
untuk extract data - memastikan sudah ada
result.db
dari ekstrakresult.db.tar.gz
sebagai database sqlite lokal mapping tps dan bisa diakses untuk melihat kondisi data terakhir - memastikan ada folder
image-c1
untuk menampung gambar unduhan - (opsional) apabila ingin disimpan di Google Drive dapat memanfaatkan GDrive API dengan otentikasi
./service-account.json
credential ditaruh di root folder repo, serta sebuah GDrive folder sudah yang diberi hak akses untuk email credential key-nya
-
Pastikan sudah melengkapi
Prerequisites
-
Copy
.env.example
ke.env
dan sesuaikan dengan informasi yang dimiliki (opsional) Apabila akan memakai GDrive, isi Folder ID dari pola URLhttps://drive.google.com/drive/u/0/folders/{folder_id}
saat membuka folder -
Melakukan instalasi
npm install or yarn
-
Sesuaikan di
main.js
Apabila ingin menjalankan secara sekali jalan, pilihcount
sekali batch, atau menjalankan secara kontinyu dengannode-cron
-
Menjalankan aplikasi
node main.js [--iterative] [--province-code string] [--kota-kabupaten-code string]
Masing-masing flag memiliki fungsi seperti ini
Options: --iterative Perform scraping from start to finish using pagination by incomplete tps. If not specified, the program will perform a singular batched download then exit --province-code [string] Province code to scrape, if any --kota-kabupaten-code [string] Kota kabupated code to scrape, if any -h, --help display help for command
or
node -e 'require("./src/runners/BatchDownloadTpsC1")(100)'
-
Mengecek data gambar yang sudah diunduh di
image-c1
atau di folder GDrive -
Melakukan reset data apabila dibutuhkan
node -e 'require("./src/runners/ResetTpsDownload")()'
Project ini belum beres semuanya, diantaranya hal yang sudah terpikirkan
-
Batch continue tanpa berhenti menelusuri semua TPS null dengan backoff delay
-
Reset tanda sudah di-download untuk semua atau kode tertentu
-
Melakukan selektif fetch/batch berdasar kode Provinsi dan Kota
-
Melakukan selektif fetch/batch dengan membaca Data TPS KawalPemilu yang masih kosong untuk ditarik data C1-nya apabila sudah ada (berdasarkan kode area wilayah tps)