Skip to content

Integrasi Data Kebijakan Resmi dari JDIH Kabupaten Jayapura #2

@yokoberek

Description

@yokoberek

Latar Belakang

Platform Kastau saat ini menggunakan data dummy yang tidak mencerminkan kebijakan resmi Kabupaten Jayapura. JDIH (Jaringan Dokumentasi dan Informasi Hukum) adalah portal resmi pemerintah yang menyimpan dokumen peraturan daerah secara lengkap.

Diperlukan mekanisme untuk mengambil dan menyinkronkan data dari JDIH ke database Kastau agar data yang ditampilkan akurat dan dapat dipertanggungjawabkan.

Tujuan

Menghubungkan database Kastau dengan sumber data resmi JDIH sehingga kebijakan yang ditampilkan mencerminkan peraturan nyata Kabupaten Jayapura.

Spesifikasi Data Model (FastAPI)

# schemas/policy.py

from pydantic import BaseModel, HttpUrl
from typing import Literal, Optional
from datetime import date

class PolicyBase(BaseModel):
    number: str
    title: str
    category_slug: str
    year: int
    issued_date: Optional[date]
    status: Literal["berlaku", "dicabut", "direvisi"]
    type: Literal["Perda", "Perbup", "SK Bupati", "Pergub"]
    document_url: Optional[HttpUrl]

class PolicyCreate(PolicyBase):
    source: str = "JDIH"          # asal data
    source_id: Optional[str]      # ID dari sistem JDIH
    raw_text: Optional[str]       # teks dokumen asli untuk proses AI

class PolicyResponse(PolicyBase):
    id: int
    summary: Optional[str]
    detail: Optional[str]
    created_at: datetime
    updated_at: datetime

    class Config:
        from_attributes = True

Alur Integrasi yang Diusulkan

JDIH Portal
    │
    ▼
[Scraper / API Client]  ── ambil metadata + link PDF
    │
    ▼
[Parser Service]        ── ekstrak teks dari PDF
    │
    ▼
[FastAPI Endpoint]      ── POST /api/v1/admin/sync
    │
    ▼
[Database PostgreSQL]   ── simpan ke tabel `policies`
    │
    ▼
[Frontend Astro]        ── tampilkan data ke publik

Task

  • Investigasi struktur data dan endpoint JDIH Kabupaten Jayapura
  • Buat script ingest data awal (bisa manual CSV atau otomatis)
  • Definisikan field mapping dari format JDIH ke model Policy FastAPI
  • Buat endpoint POST /api/v1/admin/sync untuk trigger sinkronisasi
  • Validasi data yang masuk menggunakan Pydantic model
  • Tangani duplikasi (cek berdasarkan number + year)
  • Tambahkan kolom source dan source_id untuk audit trail

Acceptance Criteria

  • Minimal 50 kebijakan resmi Kabupaten Jayapura tersimpan di database
  • Data document_url mengarah ke dokumen PDF yang valid (bukan #)
  • Script ingest bisa dijalankan ulang tanpa duplikasi data
  • Semua kebijakan memiliki category_slug yang valid

Catatan

Data yang ditampilkan di Kastau bersifat informatif. Pengguna tetap dianjurkan merujuk ke dokumen resmi JDIH untuk keperluan hukum.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions