Code Monkey home page Code Monkey logo

pikobar-jabarprov-go-id's Introduction

PIKOBAR WEB

Netlify Status

Web Pikobar (Pusat Informasi dan Koordinasi COVID-19 Jawa Barat), dapat diakses di https://pikobar.jabarprov.go.id

Index

Firebase Setup

Pikobar menggunakan Firebase sebagai backend.

Environment Variable Setup

Service Account

  1. Masuk dengan Google Account, lalu buka https://console.firebase.google.com/.
  2. Buat projek baru. Aktifkan opsi Enable Analytics.
  3. Pada sidebar, lihat grup Develop. Pilih Database. Pilih Create database. Pilih Start in production mode, lalu pilih location yang diinginkan untuk Cloud Firestore. Create Database
  4. Pada sidebar, klik ikon menu ⚙️. Pilih Project settings. Pilih tab Service accounts. Klik Generate new private key. Service account credentials akan diunduh dalam bentuk JSON. Generate service account private key
  5. Ubah nama file JSON dari langkah (4) menjadi config.firebase.service-account.js.
  6. Buka file tersebut lalu ganti isinya menjadi seperti ini. Catatan: sesuaikan nilai dari <VALUE>.
    module.exports = {
      type: '<VALUE>',
      project_id: '<VALUE>',
      private_key_id: '<VALUE>',
      private_key: '<VALUE>',
      client_email: '<VALUE>',
      client_id: '<VALUE>',
      auth_uri: '<VALUE>',
      token_uri: '<VALUE>',
      auth_provider_x509_cert_url: '<VALUE>',
      client_x509_cert_url: '<VALUE>'
    }
  7. Simpan file pada langkah (6) ke dalam root folder project, yakni sejajar dengan package.json.

Firebase SDK

  1. Pada sidebar, pilih Project Overview.
  2. Jika projek masih kosong, pilih ikon berlambang </>.
  3. Jika sudah terdapat aplikasi lain dalam projek, pilih Add app, lalu pilih Web. Add app
  4. Salin nilai variabel firebaseConfig ke dalam file bernama config.firebase.sdk.js. firebaseConfig variable
  5. Taruh file dari langkah (4) pada root folder projek, yakni sejajar dengan package.json.
  6. Buka file tersebut, lalu ganti isinya menjadi seperti ini. Catatan: sesuaikan nilai dari <VALUE>.
    module.exports = {
      apiKey: '<VALUE>',
      authDomain: '<VALUE>',
      databaseURL: '<VALUE>',
      projectId: '<VALUE>',
      storageBucket: '<VALUE>',
      messagingSenderId: '<VALUE>',
      appId: '<VALUE>',
      measurementId: '<VALUE>',
      publicVapidKey: '<VALUE>'
    }
  7. Untuk mendapatkan nilai dari publicVapidKey, klik menu ⚙️ pada sidebar. Pilih Project settings. Pilih tab Cloud Messaging.
  8. Pada bagian Web configuration > Web Push certificates, klik Generate Key Pair. Salin nilai yang muncul ke dalam variabel publicVapidKey pada file di langkah (6). Cloud Messaging generate key pair

Membuat file .env

  1. Pada langkah ini, Anda telah mempunyai file bernama config.firebase.service-account.js dan config.firebase.sdk.js pada root folder projek Anda.
  2. Buka terminal, lalu arahkan ke folder projek Anda.
  3. Jalankah perintah berikut.
    $ npm run write:env
  4. Pastikan perintah tersebut menghasilkan .env yang berkesesuaian dengan .env.example.

Firestore Setup

  1. Di Firebase Console, pada sidebar group Develop, pilih Database, lalu pilih tab Rules. Salin isi file migration/firestore.rules ke area yang disediakan. Lalu pilih Publish. Update Firestore Rules
  2. Buka terminal, lalu arahkan ke folder projek Anda.
  3. Jalankan perintah berikut.
    $ npm run migrate
  4. Proses ini dapat memakan waktu 5-10 menit.
  5. Suksesnya perintah akan ditandai dengan log bertuliskan Firestore data successfully imported.

Build Setup

# install dependencies
$ npm install

# serve with hot reload at localhost:3000
$ npm run dev

# build for production and launch server
$ npm run build
$ npm run start

# generate static project
$ npm run generate

For detailed explanation on how things work, check out Nuxt.js docs.

Export Collection

Fitur ini digunakan untuk meng-export sebuah Firestore collection ke dalam file json.

  1. Pastikan langkah yang ada di Environment Variable Setup sudah dilakukan.
  2. Jalankan command berikut dari root folder project
npm run export collection-name
  1. Jika berhasil, file hasil export akan dibuat di migration/export.json

Pedoman Kontributor

Jabar Digital Service mengucapkan terima kasih kepada publik yang ingin berkontribusi untuk Pikobar 🙏.

Sebagai panduan, kami mempunyai panduan umum untuk kontributor dan panduan kontributor untuk repositori ini.

pikobar-jabarprov-go-id's People

Contributors

adrianpdm avatar adzharamrullah avatar akatgelar avatar aldidoanta avatar arif9878 avatar dhiemaz avatar firmananggri avatar hamayat avatar maasdi avatar maruf12 avatar maulanayuseph avatar naufalihsank avatar sandisunandar99 avatar tendif avatar yohangdev avatar yunusffz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pikobar-jabarprov-go-id's Issues

Tambah tab Dokumen di Halaman Infografis

Sebagai user, saya bisa melihat daftar dokumen (PDF) dan download file tersebut.

Yang dibutuhkan/ditampilkan (bikin collection baru di Firestore):

Judul dokumen
Deskripsi dokumen
Link download file (kalau di-tap, aksinya adalah download).
Action share (share file, bukan share link) [nice to have]
Tanggal publish (sort by tanggal publish, paling baru paling atas).

Referensi: https://corona.jakarta.go.id/id/publikasi
Mintol update design ya mas @syarifhida , nuhuns

Section cek sebaran by Geotag

fitur cek sebaran dan deteksi RS rujukan by Geotag
Sebelum di Allow location nya:
image

Setelah di Allow location nya:
image

Note:
Detail ada di Figma ya. Untuk lokasi RS terdekat misal hasilnya lebih dari 1 dapat scroll aja paling, max layout ngikutin Jumlah Kasus Covid aja

Daftar Publikasi Dokumen (PDF) dan Download

Sebagai user, saya bisa melihat daftar dokumen (PDF) dan download file tersebut. Fitur ini seperti pada mobile-app: jabardigitalservice/pikobar-flutter#159

Contoh: https://corona.jakarta.go.id/id/publikasi (pilih tab publikasi)

Yang dibutuhkan/ditampilkan:

  1. Judul dokumen
  2. Deskripsi dokumen
  3. Link download file
  4. Tanggal publish (sort by tanggal publish, paling baru paling atas).

Struktur collections:
image

Ditampilkan berdasarkan published = true dan sort-by published_at descending.

Webhook untuk update data

Membuat webhook untuk update data di Firestore (collection statistics) yang diambil dari core data. Terdiri dari:

  • Data Jabar:

    • Jumlah kasus positif
    • Jumlah pasien yang sembuh
    • Jumlah pasien yang meninggal
    • Jumlah ODP dan PDP
  • Data nasional:

    • Jumlah kasus positif
    • Jumlah pasien yang sembuh
    • Jumlah pasien yang meninggal

Revisi Disclaimer di peta

Judul: Disclaimer

Isi:
Perbesar peta untuk melihat jumlah titik akurat. Beberapa titik yang saling berdekatan terlihat menyatu pada pembesaran peta skala besar.

Titik lokasi merupakan titik acak (random by system) wilayah yang tertera pada identitas kasus dan tidak menunjuk pada alamat persis masing-masing kasus.

Saat ini, data yang Pikobar tampilkan berasal dari sinkronisasi data dengan Dinas Kesehatan Kabupaten/Kota. Proses ini mungkin membutuhkan waktu 1-2 hari setiap perbaruan data terjadi. Oleh karena itu, untuk sementara Anda mungkin melihat perbedaan antara angka yang tampil di Pikobar dengan yang diumumkan di kabupaten/kota selama proses sinkronisasi berlangsung. Silakan periksa kembali 1-2 hari setelah perbaruan terakhir dari masing-masing kabupaten/kota.

Terima kasih dan mohon untuk dimaklumi.

Tombol: "Mengerti"

Revisi beberapa wording dan img di homepage

wording di bawah Ketahui Resiko dari COVID-19
yang asalnya:
Virus ini juga menyebar dengan sangat cepat karena bisa pindah dari orang ke orang bahkan sebelum orang tersebut tidak menunjukkan gejala.
menjadi:
Virus ini juga menyebar dengan sangat cepat karena bisa pindah dari orang ke orang bahkan sebelum orang tersebut menunjukkan gejala.

Di bawah Kenapa harus Social Distancing (Jaga Jarak Sesama)?
yang asalnya:
Social distancing akan mengurangi laju penularan dan mengizinkan pasien terinfeksi untuk ditangani hingga sembuh, seperti di grafik terlampir.
menjadi:
Social distancing akan mengurangi laju penularan dan memungkinkan pasien terinfeksi untuk ditangani hingga sembuh, seperti di grafik terlampir.
dan gambar diganti dengan ini:
https://firebasestorage.googleapis.com/v0/b/jabarprov-covid19.appspot.com/o/public%2Fflatten.jpeg?alt=media&token=3d989ffe-f369-4835-a232-7cf61686abd5

Membuat halaman disclaimer untuk pendaftaran Masif Tes (RDT)

Membuat halaman disclaimer yang tautannya disematkan pada banner Tes Masif covid19.

Low fidelity wireframe:
image

Konten:
PERHATIAN!

Pendaftaran Peserta TES MASIF COVID-19 bersifat terbatas dan hanya diprioritaskan bagi masyarakat dengan profesi interaksi tinggi dengan publik, rawan terinfeksi dan/atau yang memiliki gejala COVID-19.

Peserta yang telah melalui tahap diagnosa dari fitur Periksa Mandiri dan telah mendaftarkan diri, akan diverifikasi dan divalidasi oleh Dinas Kesehatan Kabupaten/Kota dan Dinas Kesehatan Provinsi. Hanya peserta yang disetujuilah yang dapat mengikuti tes ini.

Tombol Mengerti diarahkan ke URL: https://covid19.prixa.ai/partner/80b47a20-1353-49e9-af91-a0a5995ca89f/app/52b7d983-3e5d-49cc-9c99-508dc779aad3

Fix redaksional pada beberapa section

Pada section Punya Pertanyaan Terkait COVID-19 wording nya direvisi jadi:
Tanya kepada sesama wargi Jabar soal penanganan COVID-19 di Forum Pikobar!

Pada judul section Ketahui Resiko dari COVID-19 menjadi: Ketahui Risiko dari COVID-19

Ditambahkan daftar website gugus tugas di Kab/Kota Jawa Barat

Website khusus COVID-19 Jawa Barat https://pikobar.jabarprov.go.id/
List website COVID-19 Kota Kabupaten di Jawa Barat berdasarkan kode wilayah :

KODE	NAMA KOTA  	       website	
3201	BOGOR			https://covid-19.bogorkab.go.id	
3202	SUKABUMI		http://www.pikokami.sukabumikab.go.id	
3203	CIANJUR			https://covid19.cianjurkab.go.id	
3204	BANDUNG		https://covid19.bandungkab.go.id	
3205	GARUT			https://covid19.garutkab.go.id/	
3206	TASIKMALAYA		https://sigesit119.tasikmalayakab.go.id	
3207	CIAMIS			https://pikcovid19.ciamiskab.go.id	
3208	KUNINGAN		http://covid19.kuningankab.go.id	
3209	CIREBON			https://covid19.cirebonkab.go.id	
3210	MAJALENGKA		https://covid19.majalengkakab.go.id	
3211	SUMEDANG		http://covid19.sumedangkab.go.id	
3212	INDRAMAYU		http://covid19.indramayukab.go.id/	
3213	SUBANG			https://covid19.subang.go.id	
3214	PURWAKARTA		https://covid19.purwakartakab.go.id	
3215	KARAWANG		https://covid19.karawangkab.go.id/	
3216	BEKASI			https://pikokabsi.bekasikab.go.id/	
3217	BANDUNG BARAT	https://covid19.bandungbaratkab.go.id/	sama dengan portal
3218	PANGANDARAN	https://covid19.pangandarankab.go.id	
3271	KOTA BOGOR		http://covid19.kotabogor.go.id	
3272	KOTA SUKABUMI	https://covid19.sukabumikota.go.id	
3273	KOTA BANDUNG	https://covid19.bandung.go.id	
3274	KOTA CIREBON	http://covid19.cirebonkota.go.id	
3275	KOTA BEKASI		https://corona.bekasikota.go.id/	
3276	KOTA DEPOK		https://ccc-19.depok.go.id	
3277	KOTA CIMAHI		https://covid19.cimahikota.go.id	
3278	KOTA TASIKMALAYA http://mikotas.tasikmalayakota.go.id	
3279	KOTA BANJAR		https://banjarkota.go.id/berita-banjar/update-data-covid-19-kota-banjar/

Membuat Repository Wiki

Membuat repository wiki yang berisi:

  • Software Architecture
  • Struktur Collection di Firestore

Implementasi caching dan offline strategy

  • Offline network capability
  • Resource/assets caching (js, image, font)
  • Visual cue saat jaringan internet offline/lambat
  • Data statistik menampilkan data yang terakhir diambil, berikut visual cue saat data terbaru sedang di-get dari backend

The private key not yet shared

image

Apparently the private key on env not yet shared, therefore "TypeError, Cannot read property 'replace' of undefined" appear

Pre-rendered route seharusnya berlaku juga untuk dynamic route

Ekspektasi:

  • Setiap rute seharusnya di-prerender, termasuk dynamic route, e.g /infographics/<slug>, /articles/<slug>

Actual:

  • Rute yang di-prerender saat ini hanya static route, e.g /, /faq

Note:

  • Seleksi data mana saja yang harus ditarik saat prerender guna mencegah tampilnya stale data pada rute yang dimaksud

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.