# PRODUCT REQUIREMENTS DOCUMENT (PRD)

# MODUL PROFIL DESA

## SISTEM INFORMASI ADMINISTRASI DESA (SIAD)

### DESA SIOFA BANUA

---

# 1. LATAR BELAKANG

Sistem Informasi Administrasi Desa (SIAD) Desa Siofa Banua memiliki beberapa modul yang saling terintegrasi, seperti Data Penduduk, Pengajuan Surat, Master Surat, Generator Surat, Arsip Surat, Dashboard, dan Laporan.

Dalam proses penerbitan surat, Generator Surat membutuhkan identitas resmi desa, seperti logo desa, nama desa, alamat kantor desa, nama penandatangan, dan jabatan penandatangan. Apabila identitas tersebut disimpan secara langsung pada setiap template surat, maka akan terjadi duplikasi data yang menyebabkan administrator harus memperbarui seluruh template setiap kali terdapat perubahan identitas desa.

Untuk menghindari permasalahan tersebut, diperlukan Modul Profil Desa sebagai pusat konfigurasi identitas resmi desa (Single Source of Truth) yang akan digunakan secara otomatis oleh seluruh sistem.

---

# 2. TUJUAN

Modul Profil Desa bertujuan untuk:

* Menyimpan identitas resmi Desa Siofa Banua.
* Menjadi sumber data tunggal identitas desa.
* Menyediakan data identitas yang digunakan oleh Generator Surat.
* Mengurangi duplikasi data pada template surat.
* Mempermudah perubahan identitas desa tanpa mengubah template surat.
* Menjaga konsistensi identitas desa pada seluruh dokumen yang dihasilkan sistem.

---

# 3. RUANG LINGKUP

Modul Profil Desa hanya digunakan untuk mengelola identitas resmi Desa Siofa Banua.

Modul ini tidak digunakan untuk:

* Data Penduduk
* Pengajuan Surat
* Arsip Surat
* Master Surat
* Portal Desa
* Berita Desa
* Website Desa

---

# 4. BUSINESS PROCESS

Administrator membuka menu:

Pengaturan

↓

Profil Desa

↓

Sistem menampilkan identitas resmi desa.

↓

Administrator dapat memperbarui data identitas desa.

↓

Sistem melakukan validasi data.

↓

Data disimpan ke database.

↓

Generator Surat menggunakan data terbaru ketika menghasilkan surat baru.

---

# 5. BUSINESS RULES

* Modul hanya memiliki satu data Profil Desa (Singleton).
* Administrator tidak dapat menambah data Profil Desa.
* Administrator tidak dapat menghapus data Profil Desa.
* Administrator hanya dapat melihat dan mengubah data Profil Desa.
* Data Profil Desa wajib tersedia sebelum Generator Surat menghasilkan surat.
* Perubahan Profil Desa tidak mengubah surat yang telah diterbitkan sebelumnya.
* Generator Surat hanya menggunakan data Profil Desa pada saat membentuk surat baru.

---

# 6. HAK AKSES

| Role          | Hak Akses            |
| ------------- | -------------------- |
| Administrator | View & Edit          |
| Operator      | View                 |
| Warga         | Tidak memiliki akses |

---

# 7. STRUKTUR MENU

Lokasi menu:

Pengaturan

* Profil Desa
* Penomoran Surat
* User Management
* Profil Saya

---

# 8. HALAMAN

Modul tidak menggunakan DataTable.

Modul hanya terdiri dari dua halaman:

* Detail Profil Desa
* Edit Profil Desa

Saat administrator membuka menu Profil Desa, sistem langsung menampilkan halaman Detail Profil Desa.

---

# 9. INFORMASI YANG DITAMPILKAN

## A. Logo Desa

* Logo Desa

## B. Identitas Desa

* Nama Desa
* Kode Desa (Opsional)
* Alamat Kantor
* Kode Pos

## C. Wilayah Administrasi

* Kecamatan
* Kabupaten
* Provinsi

## D. Kontak

* Email
* Nomor Telepon
* Website (Opsional)

## E. Penandatangan Surat

* Nama Penandatangan
* Jabatan Penandatangan
* NIP (Opsional)

## F. Metadata

* Dibuat Pada
* Terakhir Diperbarui
* Terakhir Diperbarui Oleh

---

# 10. AKSI

Tampilkan:

* Edit Profil

Tidak tersedia:

* Tambah
* Hapus

---

# 11. HALAMAN EDIT

Administrator dapat mengubah:

## Logo Desa

* Logo Desa

## Identitas Desa

* Nama Desa
* Kode Desa
* Alamat Kantor
* Kode Pos

## Wilayah Administrasi

* Kecamatan
* Kabupaten
* Provinsi

## Kontak

* Email
* Nomor Telepon
* Website

## Penandatangan Surat

* Nama Penandatangan
* Jabatan Penandatangan
* NIP

---

# 12. VALIDASI

* Nama Desa wajib diisi.
* Alamat Kantor wajib diisi.
* Kecamatan wajib diisi.
* Kabupaten wajib diisi.
* Provinsi wajib diisi.
* Nama Penandatangan wajib diisi.
* Jabatan Penandatangan wajib diisi.
* Email harus menggunakan format email yang valid.
* Website bersifat opsional, tetapi apabila diisi harus berupa URL yang valid.
* Nomor Telepon maksimal 20 karakter.
* Logo hanya menerima file PNG, JPG, atau JPEG dengan ukuran maksimal 2 MB.

---

# 13. WORKFLOW

Administrator

↓

Membuka Profil Desa

↓

Edit Data

↓

Validasi

↓

Simpan

↓

Generator Surat menggunakan data terbaru

↓

Template surat tidak perlu diubah

---

# 14. INTEGRASI

## Dashboard

Menampilkan identitas desa sebagai informasi sistem.

## Master Surat

Menyediakan placeholder identitas desa untuk template surat.

## Generator Surat

Mengambil data:

* Logo Desa
* Nama Desa
* Kecamatan
* Kabupaten
* Provinsi
* Alamat Kantor
* Nama Penandatangan
* Jabatan Penandatangan

ketika membentuk dokumen PDF.

## Arsip Surat

Menyimpan hasil Generator Surat yang menggunakan data Profil Desa pada saat surat diterbitkan.

## Laporan

Menggunakan identitas desa sebagai header laporan.

---

# 15. DATABASE REQUIREMENT

Modul menggunakan satu tabel:

village_profiles

Karakteristik tabel:

* Memiliki satu record (Singleton).
* Tidak menggunakan Soft Delete.
* Menggunakan timestamps Laravel.
* Tidak memiliki relasi langsung dengan tabel lain.

Data utama:

* logo
* village_name
* village_code
* address
* postal_code
* district_name
* regency_name
* province_name
* email
* phone
* website
* signer_name
* signer_position
* signer_nip
* created_at
* updated_at

Generator Surat membaca data dari tabel ini ketika menghasilkan surat.

---

# 16. LARAVEL ARCHITECTURE

Model

VillageProfile

Controller

VillageProfileController

Form Request

UpdateVillageProfileRequest

Blade

show.blade.php

edit.blade.php

Routes

web.php

---

# 17. UI/UX REQUIREMENT

* Menggunakan layout Bootstrap 5 yang konsisten dengan modul lain.
* Menggunakan Card Layout.
* Menggunakan Breadcrumb.
* Menggunakan SweetAlert2.
* Menggunakan Toast Notification.
* Menggunakan Loading State.
* Responsive pada Desktop, Tablet, dan Mobile.
* Tombol Edit Profil berada di kanan atas halaman.

---

# 18. SECURITY

* Seluruh akses menggunakan Authentication.
* Hak akses menggunakan Authorization sesuai Role.
* Administrator dapat melihat dan mengubah data.
* Operator hanya dapat melihat data.
* Seluruh validasi menggunakan Laravel Form Request.

---

# 19. AUDIT LOG

Setiap perubahan menyimpan informasi:

* Pengguna yang melakukan perubahan.
* Waktu perubahan.
* Data sebelum perubahan.
* Data sesudah perubahan.

Apabila sistem belum memiliki modul Audit Log, kebutuhan ini dapat disesuaikan tanpa mempengaruhi implementasi Modul Profil Desa.

---

# 20. HASIL YANG DIHARAPKAN

* Seluruh identitas resmi Desa Siofa Banua tersimpan pada satu modul terpusat.
* Tidak terjadi duplikasi identitas desa pada template surat.
* Generator Surat menggunakan data Profil Desa secara otomatis ketika menghasilkan surat.
* Perubahan nama penandatangan, jabatan, logo desa, maupun alamat kantor cukup dilakukan melalui Modul Profil Desa tanpa mengubah template surat.
* Modul Profil Desa menjadi sumber data resmi bagi Generator Surat, Dashboard, Arsip Surat, dan Laporan.
* Workflow Pengajuan Surat, Master Surat, dan Arsip Surat tetap berjalan tanpa perubahan.
* Arsitektur sistem menjadi lebih konsisten, mudah dipelihara, dan siap untuk implementasi.
