---
# System prepended metadata

title: Untitled

---

(NOTE) Silahkan gunakan teknologi yang paling nyaman digunakan dengan hasil **pengerjaan yang cepat** dan **secure**. Tidak harus dikonversi ke codeigniter. Native PHP pun nggak masalah. Tapi harap diinformasikan ke saya apa yang akan dilakukan.

=== API
* base-url api dan api key dimasukkan ke config utk memudahkan perubahan, misal: `config/portal.php`
* gunakan api key tes: `61495f8a6c3ba61495f8a6c3bd`
* base-url api: `https://app3.mcreasindo.com/bmkg-sijafung2021-api`
* contoh php code utk akses endpoint `berita`:
```
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'app3.mcreasindo.com/bmkg-sijafung2021-api/berita',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_FAILONERROR => true,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'x-api-key: 61495f8a6c3ba61495f8a6c3bd',
    'Content-Type: application/json',
  ),
));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($curl);
curl_close($curl);

$result = json_decode($response);

echo "<pre>";
print_r ($result);
echo "</pre>";
```
=== Berita
1. endpoint api: `app3.mcreasindo.com/bmkg-sijafung2021-api/berita`
2. Page Home 
    ![](https://i.imgur.com/TdUMJQC.png)

      * Tampilkan 3 data terbaru
      * Tampilkan tanggal update
      * Tampilkan yang is_published = 1
      * On click `Berita Terkini`, open `Page Index Berita`
      * On click judul berita, open `Page Detail Berita`
3. Page Index Berita 
    ![](https://i.imgur.com/MQNabCI.png)

     * Kolom Pertama
      * 3 berita per page
      * default image: `BMKG-1.jpg`
      * If no image, use default image.
      * Tampilan tanggal update
      * On click Judul berita atau tombol read more, open `Page Detail Berita`
     * Kolom Kedua
      * Pencarian
       * Lakukan pencarian berdasar konten berita
       * Tambahkan key parameter `konten` pada api endpoint utk pencarian berdasar konten, contoh: mencari berita dengan konten "badan akreditasi" => `app3.mcreasindo.com/bmkg-sijafung2021-api/berita?konten=badan%20akreditasi`
      * Berita Lainnya
       * Random 3 berita
      * Kategori
       * ambil dari endpoint kategori+parameternya: `app3.mcreasindo.com/bmkg-sijafung2021-api/refkategori?tipe=1` (parameter `tipe` = 1 adalah kategori utk Berita)
       * Jika tidak ada kategori, maka semua di hide saja.
       
4. Page Detail Berita
     * Kolom pertama
      * Kategori
       * Hide if not available
      * Comments di hide saja
      * Tanggal: ambil dari tanggal update
      * Konten Berita, cukup jelas
      * Tags
       * Hide if not available
      * Comments di hide saja
     * Kolom kedua
      * Search Here, Popular Post, dan Categories disamakan dengan `Page Index Berita`
      * Tags
       * di rename jadi `Tag`
       * ambil dari endpoint tag+parameternya: `app3.mcreasindo.com/bmkg-sijafung2021-api/reftags?tipe=1` (parameter `tipe` = 1 adalah tag utk Berita)
       * Jika tidak ada tag, maka semua di hide saja.
      * Time Schedule di hide saja

=== Pengumuman
* Idem Berita, tapi tanpa menampilkan image, baik untuk `Page Index Pengumuman`, maupun `Page Detail Pengumuman`
* endpoint pengumuman: `app3.mcreasindo.com/bmkg-sijafung2021-api/pengumuman`
* endpoint kategori: idem berita, namun ganti `tipe` = 2 (kategori utk Pengumuman)
* Tidak memiliki endpoint tag

=== Peraturan
* Idem Pengumuman, baik untuk `Page Index Peraturan`, maupun `Page Detail Peraturan`
* Endpoint peraturan: `app3.mcreasindo.com/bmkg-sijafung2021-api/peraturan`
* endpoint kategori: idem berita, namun ganti `tipe` = 4 (kategori utk Peraturan)
* Tidak memiliki endpoint tag
* Tambahkan link download file (jika ada data `file`) pada `Page Detail Peraturan`) dengan teks "unduh dokumen", Posisi di sebelah kanan Tanggal Update. On click, suggest unduh original filename.