API untuk aplikasi PICO (Pusat Informasi COVID-19) Provinsi Sulawesi Tengah. Aplikasi ini dibangun menggunakan microframework Lumen.
Kamu membaca versi Bahasa Indonesia dari README ini. Tekan badge untuk membaca README dalam bahasa yang berbeda.
- Data COVID-19 Sulawesi Tengah :
- Data COVID-19 Nasional :
- Kawal Corona : Data kasus COVID-19 per Provinsi.
- INACOVID-19 : Data statistik situasi COVID-19 Nasional.
API ini dibuat untuk menyediakan data terkini tentang situasi COVID-19 di Sulawesi Tengah. API ini dibuat karena data yang disediakan oleh pemerintah daerah masih berupa data statis sehingga datanya tidak dapat digunakan pada aplikasi saya (PICO).
Dengan membuat API ini, diharapkan pengembang/developer yang membutuhkan data situasi COVID-19 di Sulawesi Tengah dapat terbantu dan memanfaatkan API ini.
-
-
Akses API nya melalui https://banuacoders.com/api/pico lalu tambahkan endpoint yang ingin di-hit. Contoh penggunaan endpoint pada url :
Data Endpoint URL Posko /posko https://banuacoders.com/api/pico/posko Kabupaten /kabupaten https://banuacoders.com/api/pico/kabupaten Kabupaten berdasarkan no /kabupaten/:no https://banuacoders.com/api/pico/kabupaten/6 Provinsi /provinsi https://banuacoders.com/api/pico/provinsi Provinsi berdasarkan kode provinsi /provinsi/:kode https://banuacoders.com/api/pico/provinsi/72 Rumah Sakit /rumahsakit https://banuacoders.com/api/pico/rumahsakit Rumah Sakit berdasarkan no /rumahsakit/:no https://banuacoders.com/api/pico/rumahsakit/1 Statistik /statistik https://banuacoders.com/api/pico/statistik Statistik berdasarkan hari (day) /statistik/:day https://banuacoders.com/api/pico/statistik/12 *) Catatan :
- Setiap endpoint memiliki rate limit (maksimum request/menit) masing-masing, informasinya dapat dilihat pada header response :
- X-RateLimit-Limit : 20 (Jumlah request maksimum)
- X-RateLimit-Remaining: 0 (Sisa request yang bisa dilakukan)
- Retry-After: 80 (Waktu sampai anda bisa melakukan request selanjutnya)
- Rate limit untuk setiap endpoint :
- provinsi : 40 request/menit
- lainnya : 20 request/menit
- Setiap endpoint memiliki rate limit (maksimum request/menit) masing-masing, informasinya dapat dilihat pada header response :
-
-
- Clone repository ini ke local.
- Buka terminal/CMD lalu masuk ke root directory hasil clone.
- Jalankan perintah
cp .env.example .env
- Edit isi file .env dan isikan sesuai dengan konfigurasi local anda.
- Agar Throttle Request/Rate Limiter berjalan dengan normal, ubah
CACHE_DRIVER
pada file.env
menjadiCACHE_DRIVER=file
. - Jalankan perintah
composer update
/composer install
untuk meng-install dependency yang dibutuhkan. - Setelah proses installasi dependency selesai, jalankan perintah
php artisan key:generate
untuk men-generate APP_KEY. - Jalankan perintah
php artisan migrate --seed
untuk melakukan migrasi database. - Pastikan komputer/laptop anda terhubung ke internet saat melakukan migration, karena seeder menggunakan data dari internet untuk mengisi database lokal anda.
- Setelah itu, jalankan perintah
php artisan serve
untuk menjalankan aplikasi. - Jika berhasil dan tidak terdapat kesalahan dalam konfigurasi, maka aplikasi akan berjalan dan dapat diakses melalui 127.0.0.1:8000 atau localhost:8000.
-
- Contoh json/{"objek_posko"} :
{
"kabupaten":"Banggai Kepulauan",
"kontak":
[
{
"jenis_kontak":"Telepon",
"kontak":"082292105885",
"nama":"Arabia Tamrin",
"label":"Telpon",
"prefix":"tel:"
}
]
}
-
GET /posko
Mengembalikan data posko Gugus Tugas COVID-19 di semua Kabupaten di Sulawesi Tengah.
- URL Params
- None
- Data Params
- None
- Headers
- Content-Type: application/json
- Success Response :
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data":
[
{"objek_posko"},
{"objek_posko"},
{"objek_posko"},
]
}
-
- Contoh json/{"objek_kabupaten"} :
{
"no": 7205,
"kabupaten": "Donggala",
"ODP": 6,
"PDP": 0,
"positif": 0,
"negatif": 0,
"sembuh": 0,
"meninggal": 0,
"selesai_pengawasan": 0,
"dalam_pengawasan": 6,
"selesai_pemantauan": 0,
"dalam_pemantauan": 0,
"updated_at": "2020-04-29T17:00:00.000000Z"
}
-
GET /kabupaten
Mengembalikan data kasus COVID-19 di semua Kabupaten/Kota di Sulawesi Tengah.
- URL Params
- None
- Data Params
- None
- Headers
- Content-Type : application/json
- Success Response :
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data":
[
{"objek_kabupaten"},
{"objek_kabupaten"},
{"objek_kabupaten"},
]
}
-
GET /kabupaten/:no
Mengembalikan data kasu COVID-19 di Kabupaten/Kota yang dipilih.
- URL Params
- Required:
no=[integer]
- Required:
- Data Params
- None
- Headers
- Content-Type : application/json
- Success Response:
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data": {"objek_kabupaten"}
}
- Error Response:
- Code : 404
- Content :
{
"success": false,
"errors" :
{
"code": 404,
"message": "Ditrict not found!"
},
"data": []
}
-
Properti "map_id" digunakan pada AnyChart-Android .
- Contoh json/{"objek_provinsi"} :
{
"kode_provinsi":31,
"provinsi":"DKI Jakarta",
"positif":515,
"sembuh":46,
"meninggal":25,
"map_id":"ID.JR",
"updated_at": "2020-04-29T17:00:00.000000Z"
}
-
GET /provinsi
Mengembalikan data kasus COVID-19 di semua Provinsi di Seluruh Indonesia.
- URL Params
- None
- Data Params
- None
- Headers
- Content-Type: application/json
- Success Response :
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data":
[
{"objek_provinsi"},
{"objek_provinsi"},
{"objek_provinsi"},
],
}
-
GET /provinsi/:kode
Mengembalikan data kasus COVID-19 di Provinsi yang dipilih.
- URL Params
- Required:
kode=[integer]
- Required:
- Data Params
- None
- Headers
- Content-Type: application/json
- Success Response:
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data": {"objek_provinsi"},
}
- Error Response:
- Code : 404
- Content :
{
"success": false,
"errors":
{
"code": 404,
"message": "Province not found!"
},
"data": [],
}
-
- Contoh json/{"objek_rumah_sakit"} :
{
"no":"7271014",
"nama":"RS Umum Daerah Undata Palu",
"longitude":119.881858,
"latitude":-0.8578386,
"jumlah_igd":0,
"terakhir_diperbarui":"2021-07-24T01:58:08.000000Z",
"kontak":
[
{
"jenis_kontak":"Telepon",
"kontak":"0451421270",
"prefix":"tel:",
"label":"Telpon"
}
],
"tempat_tidur":
[
{
"jenis_tempat_tidur":"IGD Khusus Covid",
"total":4,
"tersedia":0,
"terisi":4,
"antrian":0,
"terakhir_diperbarui":"2021-07-24T01:58:08.000000Z"
},
]
}
-
GET /rumahsakit
Mengembalikan data rumah sakit rujukan COVID-19 di semua Kabupaten di Sulawesi Tengah.
- URL Params
- None
- Data Params
- None
- Headers
- Content-Type: application/json
- Success Response :
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data":
[
{"objek_rumah_sakit"},
{"objek_rumah_sakit"},
{"objek_rumah_sakit"},
],
}
-
GET /rumahsakit/:no
Mengembalikan data Rumah Sakit berdasarkan nomor/id yang dipilih.
- URL Params
- Required:
no=[integer]
- Required:
- Data Params
- None
- Heders
- Content-Type: application/json
- Success Response:
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data": {"objek_rumah_sakit"},
}
- Error Response:
- Code : 404
- Content :
{
"success": false,
"errors":
{
"code": 404,
"message": "Hospital not found!"
},
"data" : [],
}
-
Mengembalikan data situasi harian COVID-19 di Sulawesi Tengah sejak tanggal 22 Maret 2020.
- Contoh json/{"objek_statistik"} :
{
"day" : 42,
"date" : "2020-05-02T16:00:00.000000Z",
"positive" : 12,
"cumulative_positive" : 59,
"recovered" : 0,
"cumulative_recovered" : 11,
"death" : 0,
"cumulative_death" : 3,
"death_percentage" : 5.08,
"recovered_percentage" : 18.64,
"under_treatment_percentage" : 76.27,s
}
- Contoh JSON (v2)/{"objek_statistik"} :
{
"hari_ke" : 42,
"tanggal" : "2020-05-02T16:00:00.000000Z",
"kasus_baru" : {
"positif": 0,
"sembuh": 0,
"meninggal": 0,
"negatif": 0,
"ODP": 0,
"PDP": 0
},
"aktif" : {
"dalam_perawatan": 45,
"ODP": 161,
"PDP": 45
},
"selesai" : {
"ODP": 161,
"PDP": 45
},
"kumulatif" : {
"positif": 59,
"sembuh": 11,
"meninggal": 3,
"negatif": 50,
"ODP": 724,
"PDP": 120,
"selesai_ODP": 563,
"selesai_PDP": 76
},
"rekap" : {
"angka_reproduksi" : {
"rt_upper": 1.98,
"rt": 1.2,
"rt_lower": 0.3
},
"persentase": {
"meninggal": 5.08,
"sembuh": 18.64,
"dalam_perawatan": 76.27
},
},
}
-
GET /statistik
Mengembalikan data situasi harian COVID-19 di Sulawesi Tengah.
- URL Params
- None
- Data Params
- None
- Headers
- Content-Type: application/json
- Success Response :
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data":
[
{"stats_object"},
{"stats_object"},
{"stats_object"},
],
}
-
GET /statistik/:day
Mengembalikan data situasi harian COVID-19 di Sulawesi Tengah pada hari yang dipilih.
- URL Params
- Required:
day=[integer]
- Required:
- Data Params
- None
- Heders
- Content-Type: application/json
- Success Response:
- Code : 200
- Content :
- URL Params
{
"success": true,
"errors": [],
"data": {"stats_object"},
}
- Error Response:
- Code : 404
- Content :
{
"success": false,
"errors":
{
"code": 404,
"message": "Stats not found!"
},
"data" : [],
}
Beberapa fitur yang sudah dibuat :
- Data situasi COVID-19 Kabupaten/Kota di Sulawesi Tengah
- Data situasi COVID-19 Provinsi di Indonesia
- Data posko Tim Gugus Tugas COVID-19 di Sulawesi Tengah
- Data rumah sakit rujukan COVID-19 di Sulawesi Tengah
- Data situasi harian COVID-19 di Sulawesi Tengah
To-do list:
- Data situasi COVID-19 Kabupaten/Kota di Sulawesi Tengah
- Data situasi COVID-19 Provinsi
- Data posko Tim Gugus Tugas COVID-19 Sulawesi Tengah
- Data rumah sakit rujukan COVID-19 di Sulawesi Tengah
- Data situasi harian COVID-19 di Sulawesi Tengah
Lisensi MIT
Copyright (c) 2020 Fajrian Aidil Pratama
Dibuat oleh @ryanaidilp_ - feel free to contact me!