docs: add report draft and dashboard form refinements
This commit is contained in:
parent
4e0cf0140f
commit
441e709193
26 changed files with 1700 additions and 505 deletions
|
|
@ -4,109 +4,182 @@
|
|||
|
||||
### 1.1 Latar Belakang
|
||||
|
||||
- Importance of structured server documentation and monitoring
|
||||
- Need for a simple admin dashboard for managing private servers and hosted services
|
||||
- Pentingnya pendataan server, layanan, domain, dan dokumentasi internal secara terpusat
|
||||
- Kebutuhan dashboard web sederhana untuk membantu admin memantau aset server private
|
||||
- Kebutuhan pemeriksaan DNS dasar agar domain dapat diverifikasi terhadap IP server yang diharapkan
|
||||
|
||||
### 1.2 Rumusan Masalah
|
||||
|
||||
- How to manage server data, services, domains, and internal notes in one web app?
|
||||
- How to check whether a domain resolves to the expected server IP automatically?
|
||||
- Bagaimana membangun aplikasi web terproteksi untuk mengelola server, service, domain, dan note dalam satu dashboard?
|
||||
- Bagaimana memeriksa apakah domain mengarah ke IP server yang benar secara sederhana?
|
||||
- Bagaimana menampilkan relasi data, misalnya note per server, langsung dari halaman detail?
|
||||
|
||||
### 1.3 Batasan Masalah
|
||||
|
||||
- CRUD + monitoring dashboard only
|
||||
- No SSH, no Docker orchestration, no real deployment automation
|
||||
- DNS checking limited to A record / IPv4
|
||||
- Single admin login
|
||||
- Aplikasi berupa dashboard CRUD + monitoring ringan
|
||||
- Hanya satu aktor admin
|
||||
- DNS checking terbatas pada A record / IPv4
|
||||
- Tidak mencakup SSH, deployment automation, Docker orchestration, atau reverse proxy management
|
||||
- Fokus implementasi pada web app + server app + PostgreSQL
|
||||
|
||||
### 1.4 Tujuan
|
||||
|
||||
- Build a web-based dashboard for private server service management
|
||||
- Provide simple DNS verification and summary monitoring
|
||||
- Membangun dashboard manajemen layanan server private berbasis web
|
||||
- Menyediakan CRUD untuk server, service, domain, dan note
|
||||
- Menyediakan pemeriksaan DNS sederhana dan ringkasan dashboard
|
||||
|
||||
### 1.5 Manfaat
|
||||
|
||||
- Helps admins manage server and service records
|
||||
- Helps students understand CRUD, relationships, and monitoring concepts
|
||||
- Membantu admin mendokumentasikan dan memantau aset server
|
||||
- Membantu proses pembelajaran relasi data, CRUD, auth, dan monitoring dasar
|
||||
- Menjadi contoh implementasi full-stack berbasis React, tRPC, Drizzle, dan PostgreSQL
|
||||
|
||||
## BAB 2 - Tinjauan Pustaka
|
||||
|
||||
### 2.1 Web-Based Information Systems
|
||||
### 2.1 Sistem Informasi Berbasis Web
|
||||
|
||||
### 2.2 CRUD Concept
|
||||
### 2.2 Konsep CRUD
|
||||
|
||||
### 2.3 Monitoring Dashboard Concept
|
||||
### 2.3 Konsep Dashboard Monitoring
|
||||
|
||||
### 2.4 DNS and A Record Resolution
|
||||
### 2.4 DNS dan Resolusi A Record
|
||||
|
||||
### 2.5 Technologies Used
|
||||
### 2.5 Otentikasi pada Aplikasi Web
|
||||
|
||||
### 2.6 Teknologi yang Digunakan
|
||||
|
||||
- React
|
||||
- TanStack Router
|
||||
- TanStack Query
|
||||
- tRPC
|
||||
- PostgreSQL
|
||||
- Drizzle ORM
|
||||
- better-auth
|
||||
- Effect
|
||||
- Bun
|
||||
|
||||
## BAB 3 - Analisis dan Perancangan Sistem
|
||||
|
||||
### 3.1 Analisis Kebutuhan
|
||||
|
||||
- Functional requirements
|
||||
- Non-functional requirements
|
||||
#### Kebutuhan Fungsional
|
||||
|
||||
- Admin dapat sign in untuk mengakses dashboard
|
||||
- Sistem mengarahkan `/` ke `/dashboard` atau `/login` berdasarkan sesi
|
||||
- Admin dapat mengelola data server
|
||||
- Admin dapat mengelola data service
|
||||
- Admin dapat mengelola data domain
|
||||
- Admin dapat menjalankan DNS check untuk domain
|
||||
- Admin dapat mengelola note server
|
||||
- Admin dapat melihat note yang terkait langsung dari halaman detail server
|
||||
- Sistem menampilkan ringkasan dashboard dan data terbaru
|
||||
|
||||
#### Kebutuhan Non-Fungsional
|
||||
|
||||
- Antarmuka sederhana dan student-friendly
|
||||
- Relasi data dipilih melalui select input agar mengurangi kesalahan input ID manual
|
||||
- Data list ditampilkan dengan urutan stabil
|
||||
- Aksi hapus memakai konfirmasi dua langkah berbasis ikon
|
||||
|
||||
### 3.2 Perancangan Sistem
|
||||
|
||||
- Use case diagram
|
||||
- Class diagram
|
||||
- Activity diagram
|
||||
- State chart
|
||||
- State chart diagram
|
||||
- Sequence diagram
|
||||
- Collaboration diagram
|
||||
|
||||
### 3.3 Perancangan Database
|
||||
|
||||
- Server table
|
||||
- Service table
|
||||
- Domain table
|
||||
- Note table
|
||||
- Auth tables
|
||||
- Tabel `server`
|
||||
- Tabel `service`
|
||||
- Tabel `domain`
|
||||
- Tabel `note`
|
||||
- Tabel auth bawaan better-auth
|
||||
- Relasi:
|
||||
- server -> services
|
||||
- server -> notes
|
||||
- service -> domains
|
||||
- Aturan cascade delete pada relasi utama
|
||||
|
||||
### 3.4 Perancangan Antarmuka
|
||||
|
||||
- Login page
|
||||
- Dashboard page
|
||||
- Server list/detail/form
|
||||
- Service list/detail/form
|
||||
- Domain list/detail/form
|
||||
- Note list/detail/form
|
||||
- Halaman login (`/login`)
|
||||
- Redirect root (`/`)
|
||||
- Dashboard summary (`/dashboard`)
|
||||
- Halaman list/detail/form server
|
||||
- Halaman list/detail/form service
|
||||
- Halaman list/detail/form domain
|
||||
- Halaman list/detail/form note
|
||||
- Section note terkait pada detail server
|
||||
|
||||
## BAB 4 - Implementasi dan Pengujian
|
||||
|
||||
### 4.1 Implementasi Sistem
|
||||
|
||||
- Backend implementation
|
||||
- Frontend implementation
|
||||
- Authentication implementation
|
||||
- DNS check implementation
|
||||
#### Backend
|
||||
|
||||
- Router tRPC untuk server, service, domain, note, dan dashboard summary
|
||||
- Validasi relasi parent-child pada create/update
|
||||
- DNS check menggunakan resolver IPv4 A record
|
||||
- Persist hasil DNS check ke database
|
||||
|
||||
#### Frontend
|
||||
|
||||
- Protected routes untuk area dashboard
|
||||
- CRUD forms dengan TanStack Form
|
||||
- Select input untuk relasi:
|
||||
- service -> server
|
||||
- domain -> service
|
||||
- note -> server
|
||||
- Resource tables dengan stable row key dan ordering stabil dari backend
|
||||
- Delete action berbasis ikon dengan dua klik konfirmasi
|
||||
- DNS status pada domain list sebagai tombol check dengan styling status badge
|
||||
|
||||
#### Authentication
|
||||
|
||||
- better-auth client + protected route redirect
|
||||
- Akses tanpa sesi diarahkan ke `/login`
|
||||
|
||||
### 4.2 Pengujian
|
||||
|
||||
- Login test
|
||||
- CRUD server test
|
||||
- CRUD service test
|
||||
- CRUD domain test
|
||||
- CRUD note test
|
||||
- DNS check test
|
||||
- Dashboard summary test
|
||||
- Pengujian login admin
|
||||
- Pengujian CRUD server
|
||||
- Pengujian CRUD service
|
||||
- Pengujian CRUD domain
|
||||
- Pengujian CRUD note
|
||||
- Pengujian select relasi pada form
|
||||
- Pengujian DNS check domain
|
||||
- Pengujian note terkait pada halaman detail server
|
||||
- Pengujian ringkasan dashboard
|
||||
- Pengujian typecheck web dan API
|
||||
|
||||
### 4.3 Hasil Pengujian
|
||||
|
||||
- Tables/screenshots of successful scenarios
|
||||
- Tabel atau screenshot untuk setiap skenario berhasil
|
||||
- Bukti hasil DNS check (`MATCH`, `MISMATCH`, `UNRESOLVED`)
|
||||
- Bukti relasi data tampil benar di halaman detail dan list
|
||||
|
||||
### 4.4 Evaluasi
|
||||
|
||||
- Strengths of the system
|
||||
- Current limitations
|
||||
- Suggested future improvements
|
||||
#### Kelebihan
|
||||
|
||||
- Struktur data relasional jelas
|
||||
- UI CRUD sudah konsisten dengan select untuk foreign key utama
|
||||
- Ringkasan dashboard dan detail page saling terhubung
|
||||
- DNS checking sudah terintegrasi langsung di alur domain
|
||||
|
||||
#### Keterbatasan
|
||||
|
||||
- DNS checking hanya untuk A record / IPv4
|
||||
- Belum ada multi-role auth
|
||||
- Belum ada fitur pagination, search, atau sorting manual dari UI
|
||||
- Full workspace typecheck masih terhalang issue pre-existing pada `apps/desktop`
|
||||
|
||||
#### Saran Pengembangan
|
||||
|
||||
- Tambah filter, search, dan pagination
|
||||
- Tambah histori DNS check
|
||||
- Tambah role/permission management
|
||||
- Tambah monitoring yang lebih luas selain DNS A record
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue