Files
cpone_dashboard/cpone-dashboard/scripts/README.md
2026-04-30 14:27:01 +07:00

150 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Demo Scripts — MCU PROJECT DEMO 2026
Script untuk generate dummy data dan simulasi live MCU berjalan, khusus keperluan demo ke client.
---
## Struktur
```
scripts/
├── demo_seed.py # Generate + jalankan dummy data (1500 pasien, historis + hari ini)
├── demo_live.sh # Simulasi aktivitas MCU berjalan secara real-time
├── demo_cleanup.sql # Hapus semua data demo
└── README.md
```
---
## Quick Start
### 1. Seed data awal (jalankan sekali sebelum demo)
```bash
# Di laptop lokal
python3 scripts/demo_seed.py > /tmp/demo_seed.sql
# Upload + jalankan di server
scp /tmp/demo_seed.sql one@devcpone.aplikasi.web.id:/tmp/
ssh one@devcpone.aplikasi.web.id "mysql -u admin -pSasone\!102938 cpone_dashboard < /tmp/demo_seed.sql"
```
Alternatif one-liner:
```bash
python3 scripts/demo_seed.py | ssh one@devcpone.aplikasi.web.id "mysql -u admin -pSasone\!102938 cpone_dashboard"
```
### 2. Jalankan live simulation
```bash
ssh one@devcpone.aplikasi.web.id
# Kecepatan normal (8 detik per aksi)
/home/one/demo_live.sh
# Lebih cepat untuk demo dinamis (3 detik per aksi)
/home/one/demo_live.sh 3
# Lebih lambat (15 detik per aksi)
/home/one/demo_live.sh 15
# Hentikan: Ctrl+C
```
### 3. Reset data (setelah demo selesai)
```bash
ssh one@devcpone.aplikasi.web.id "mysql -u admin -pSasone\!102938 cpone_dashboard < /tmp/demo_cleanup.sql"
```
---
## Data yang Di-seed
| | Detail |
|---|---|
| **Project** | MCU PROJECT DEMO 2026 — PT DEMO CORPORATION |
| **MCU ID** | 9999 |
| **Periode** | 20 April 2026 10 Mei 2026 |
| **Total pasien** | 1.500 (75/hari selama 20 hari) |
| **Preregister ID range** | 900001 901500 |
### Distribusi skenario
| Tanggal | Pasien | Skenario |
|---------|--------|----------|
| 20 Apr 28 Apr | 1 675 | Sudah selesai semua. Di antara ini, setiap kelipatan 15 (patient ke-15, 30, …) melakukan **2-day check-in**: sebagian station hari 1, sisa station hari 2. |
| 29 Apr | 676 750 | Sudah check-in, nonlab station selesai, **lab station masih processing**. |
| 30 Apr (hari ini) | 751 825 | 751810: sudah check-in pagi, **partial station** (sedang berjalan). 811825: **belum datang** — inilah yang akan di-trigger live script. |
| 1 Mei 9 Mei | 826 1.500 | Belum dijadwalkan. |
### Resume & hasil
| Kondisi | Pasien |
|---------|--------|
| Resume validated ✅ | Apr 2027 (600 pasien) |
| Resume published ✅ | Apr 2025 (375 pasien) |
| PDF tersedia (View PDF) | Pasien 180 (`2026/04/R26040001_*.pdf` dst.) |
| Kelainan / abnormal | ~33% dari pasien validated (~186 rows), 6 grup |
---
## Apa yang Disimulasikan live_demo.sh
Script berjalan infinite loop, cycle 4 aksi secara berurutan:
| Aksi | Yang Terjadi |
|------|-------------|
| **A — Check-in** | Pasien baru dari kelompok "belum datang" (811825) melakukan check-in dengan waktu saat ini |
| **B — Station** | Pasien yang sudah check-in hari ini mendapatkan update station selesai (satu station per siklus) |
| **C — Validasi** | Resume pasien kemarin (Apr 29) divalidasi dokter satu per satu |
| **D — Publish PDF** | Pasien Apr 29 yang sudah divalidasi mendapat file PDF dan statusnya published |
Output di terminal:
```
╔══════════════════════════════════════════════════════════════╗
║ CpOne — DEMO LIVE SIMULATION ║
║ MCU PROJECT DEMO 2026 │ ID: 9999 │ Hari ini: 2026-04-30 ║
╚══════════════════════════════════════════════════════════════╝
Aksi: A=Check-in B=Station C=Validasi D=Publish PDF
Interval: 8s │ Press Ctrl+C untuk berhenti
[10:32:01] ✅ CHECK-IN │ Siti Santoso │ HR │ masuk pukul 10:32:01
[10:32:09] 🏥 STATION │ Budi Wijaya │ Sample Station ECG │ selesai
[10:32:17] ✔ VALIDASI │ Rina Pratama │ resume divalidasi dokter
[10:32:25] 📄 PUBLISH │ Agus Kurnia │ PDF → 2026/04/R2604D76_resume_individu.pdf
```
---
## Tips Demo
**Halaman yang menarik untuk ditunjukkan:**
1. **Dashboard** — pilih tanggal hari ini (30/04/2026) untuk lihat aktivitas real-time
2. **Arrival** — scroll ke bawah, pasien baru akan muncul setiap siklus
3. **Progress** — counter "Validated" dan "Published" naik setiap kali aksi C/D dijalankan
4. **Abnormal** — sudah ada data kelainan dari pasien Apr 2027
5. **Result** — tombol "View PDF" aktif untuk pasien 180 + pasien yang baru di-publish
**Saat demo:**
- Buka dashboard di browser, biarkan live script jalan di background terminal
- Tunjukkan pasien check-in datang satu per satu (Arrival page)
- Tunjukkan station selesai bertahap (Dashboard → Station Status)
- Tunjukkan counter validated/published naik (Progress page)
- Tunjukkan PDF bisa dibuka (Result page → tombol View PDF)
---
## Re-seed Ulang
Kalau data ingin di-reset ke kondisi awal (misal setelah demo):
```bash
# Dari laptop lokal, jalankan ulang seed
python3 scripts/demo_seed.py | ssh one@devcpone.aplikasi.web.id "mysql -u admin -pSasone\!102938 cpone_dashboard"
```
Script seed sudah idempotent — DELETE data lama dulu sebelum INSERT baru.