Aplikasi web lokal, mandiri (portable), dan offline-first yang dirancang khusus untuk Compliance Officer guna mengelola pencatatan penugasan kepatuhan (Work Items), subtask & checklist, manajemen kategori, template pekerjaan, tugas berulang (recurring tasks), pusat impor massal (Data Import Center), serta jejak audit aktivitas (Activity Log) secara terstruktur, aman, dan tanpa biaya operasional.
- Ikhtisar
- Fitur Utama v1.1.2
- Teknologi yang Digunakan
- Persyaratan Sistem
- Unduhan Aplikasi (GitHub Releases)
- Cara Menjalankan Aplikasi
- Kompilasi & Pengujian Ringkas
- Lokasi Penyimpanan Data & Cadangan
- Keamanan & Privasi
- Dokumentasi Teknis Terkait
Compliance Workspace v1.1.2 dibangun untuk menjawab kebutuhan pelacakan aktivitas kepatuhan yang portabel dan dapat dipindahkan antar-laptop tanpa memerlukan instalasi interpreter bahasa (seperti Python), lingkungan Node.js, layanan server database eksternal, maupun ketergantungan pada koneksi internet dan cloud API berbayar.
Seluruh antarmuka web modern disematkan langsung ke dalam biner eksekusi (single executable binary) dengan ikon Windows resmi, dan basis data disimpan secara lokal menggunakan mesin SQLite murni dalam folder data/ yang diresolusi relatif terhadap lokasi biner fisik.
Status rilis: v1.1.2 adalah versi rilis terbaru (basis rilis stabil sebelumnya: v1.1.1). Paket Windows x64 tersedia pada GitHub Releases.
- Metrik visual seketika: Total Pekerjaan, Belum Mulai, Dalam Proses, Menunggu, Selesai, dan Melewati Deadline (Overdue).
- Indikator peringatan dini untuk pekerjaan yang membutuhkan perhatian segera.
- Kalkulasi progres rata-rata seluruh pekerjaan kepatuhan aktif.
- Manajemen siklus hidup penugasan kepatuhan: Pembuatan, Peninjauan Rincian, Pembaruan Informasi, dan Pengarsipan (Soft Delete).
- Kode penugasan unik berurutan otomatis: format
CMP-YYYY-NNNNNN(misal:CMP-2026-000001). - Subtask & Checklist: Merinci setiap penugasan ke dalam langkah kerja terukur yang dapat dicentang secara bertahap.
- Kalkulasi Otomatis Progres: Persentase progres (
progress_percentage: 0% - 100%) dihitung otomatis berbasis rasio subtask selesai atau estimasi status pekerjaan. - Master Kategori: Pengelolaan klasifikasi pekerjaan dengan warna visual kustom dan status aktif/non-aktif.
- Work Templates: Pembuatan cetak biru penugasan berulang lengkap dengan checklist bawaan dan durasi estimasi.
- Recurring Tasks: Penjadwalan pekerjaan rutin otomatis (harian, mingguan, bulanan, kuartalan, tahunan) dengan proteksi idempotency anti-duplikasi.
- Penghapusan Aman Berbasis Audit: Dukungan penghapusan permanen operasional via penanda tombstone (
deleted_at), membersihkan subtask, dan tetap mengabadikan log audit untuk kebutuhan pengawasan regulator.
- Wizard 4 tahap: Pilih Berkas -> Pemetaan Kolom -> Pratinjau & Validasi (Dry-Run) -> Komit & Ringkasan.
- Mendukung berkas spreadsheet Microsoft Excel (
.xlsx) dan CSV (dengan/tanpa UTF-8 BOM). - Pemetaan kolom cerdas (auto-suggest mapping) untuk mempermudah migrasi data spreadsheet.
- Validasi read-only pada tahap pratinjau tanpa memodifikasi basis data.
- Deteksi duplikasi ganda: duplikasi dalam berkas yang sama (in-file) dan duplikasi terhadap basis data SQLite existing berbasis kombinasi
Judul + Tanggal Diterima + Pemberi Tugas. - Snapshot cadangan otomatis (pre-commit backup safety) sebelum transaksi impor dikomit.
- Riwayat batch impor dan fasilitas pembatalan kompensasi (Compensate Rollback) aman.
- Garis waktu aktivitas (timeline) per pekerjaan yang bersifat append-only (tidak dapat diubah atau dihapus).
- Pencatatan otomatis oleh sistem setiap kali terjadi pembuatan pekerjaan, perubahan status, penambahan/penyelesaian subtask, impor batch, pengarsipan, atau pemulihan.
- Dilindungi oleh trigger database SQLite
RAISE(ABORT)untuk mencegah manipulasi data riwayat audit.
- Pengelompokan tugas berdasarkan urgensi:
- Terlambat (Overdue): Pekerjaan yang telah melampaui tenggat waktu.
- Jatuh Tempo Hari Ini: Penugasan yang harus diselesaikan pada hari berjalan.
- Tujuh Hari Mendatang: Pekerjaan yang mendekati tenggat dalam 7 hari ke depan.
- Tanpa Deadline: Pekerjaan berkategori fleksibel tanpa tanggal target.
- Pencadangan konsisten database SQLite menggunakan perintah mesin
VACUUM INTOke folderbackups/. - Verifikasi integritas otomatis pada setiap berkas cadangan melalui
PRAGMA integrity_checkdan validasi versi skema. - Pemulihan (restore) runtime melalui staging tervalidasi dengan pembuatan salinan pengaman (safety snapshot) sebelum database aktif diganti.
- Manajemen siklus hidup berkas cadangan: penghapusan berkas usang secara tunggal maupun massal dengan jaminan retensi minimal 1 berkas cadangan valid.
- Ekspor seluruh daftar pekerjaan atau log aktivitas ke format CSV standar.
- Disertai UTF-8 Byte Order Mark (BOM) agar langsung terbuka rapi pada Microsoft Excel tanpa teks berantakan.
- Proteksi CSV Formula Injection untuk nilai teks yang diawali
=,+,-,@, tab (\t), atau carriage return (\r).
- Bahasa Pemrograman: Go 1.27.2 (Standard Library
net/http,database/sql,embed). - Driver Basis Data:
modernc.org/sqlite(Pure Go, 100% tanpa CGO / C-Compiler). - Pemrosesan Spreadsheet:
github.com/xuri/excelize/v2(Pure Go). - Frontend: HTML5, CSS3 murni, dan Vanilla JavaScript (ES6+), disematkan melalui Go
embed. - Ketergantungan Eksternal di Runtime: Nol (Zero-dependency) — tidak membutuhkan CDN, Node.js, Python, atau font daring.
- Sistem Operasi: Windows 10 atau Windows 11 (64-bit / x64).
- Hak Akses: Hak pengguna standar (Non-Administrator dapat menjalankan).
- Peramban Web: Microsoft Edge, Google Chrome, Mozilla Firefox, atau peramban modern lainnya.
- Koneksi Jaringan: 100% Offline (tidak memerlukan sambungan internet).
Pengguna akhir tidak perlu menginstal Go atau mengompilasi kode program:
- Buka halaman Releases pada repositori GitHub resmi: https://github.com/shotlord/ComplianceWorkspace/releases
- Unduh paket distribusi stabil terbaru (v1.1.2):
ComplianceWorkspace-v1.1.2-Windows-x64.zip - (Disarankan) Unduh berkas
checksums-sha256.txtdan verifikasi keaslian paket di PowerShell:Get-FileHash .\ComplianceWorkspace-v1.1.2-Windows-x64.zip -Algorithm SHA256
- Ekstrak berkas ZIP ke direktori lokal pilihan Anda (misalnya
D:\ComplianceWorkspaceatau folder Documents).
- Inisialisasi Pertama Kali: Saat pertama kali aplikasi dijalankan pada direktori baru (di mana basis data
data/compliance.dbbelum ada), jalankan aplikasi dengan flag-initatau--inituntuk mengonfirmasi inisialisasi basis data baru (misalnya:.\ComplianceWorkspace.exe -initataugo run ./cmd/compliance-workspace -init). Menjalankan aplikasi tanpa flag-initsaat basis data belum ada akan ditolak secara fail-closed demi melindungi data dari pembentukan basis data kosong yang tidak disengaja. - Proteksi Instansi Tunggal (Single-Instance Protection): Aplikasi dilindungi oleh kunci eksklusif tingkat kernel OS (
data/.compliance.lock). Hanya satu instansi aplikasi yang diizinkan aktif mengakses direktori data yang sama pada satu waktu. Membuka instansi kedua pada direktori yang sama akan langsung ditolak. Kunci akan dilepas secara otomatis saat aplikasi ditutup tertib maupun saat proses berhenti tak terduga (crash).
- Buka folder hasil ekstrak (
ComplianceWorkspace-v1.1.2-Windows-x64). - Untuk inisialisasi pertama kali pada instalasi baru, buka PowerShell di folder tersebut dan jalankan:
Untuk penggunaan rutin berikutnya (basis data sudah ada), klik ganda pada berkas
.\ComplianceWorkspace.exe -init
ComplianceWorkspace.exeatau jalankan:.\ComplianceWorkspace.exe - Konsol akan menampilkan alamat server lokal aktif:
[INFO] Server aktif dan mendengarkan pada: http://127.0.0.1:54321 - Buka alamat tersebut secara manual pada peramban web.
- Untuk menentukan port tertentu melalui terminal:
.\ComplianceWorkspace.exe -port 8080
- Untuk penutupan tertib (graceful shutdown), tekan
Ctrl + Cpada terminal. Menutup paksa proses atau jendela konsol tidak menjamin jalur shutdown berbasis sinyal selesai.
Catatan Windows SmartScreen: Karena aplikasi portabel ini didistribusikan tanpa sertifikat digital komersial (EV Code Signing), Windows Defender SmartScreen mungkin menampilkan layar "Windows protected your PC". Klik More info lalu pilih Run anyway.
- Pastikan Go 1.27.2 terpasang pada komputer Anda.
- Buka terminal pada root direktori repositori.
- Untuk inisialisasi database awal:
Untuk menjalankan normal berikutnya:
go run ./cmd/compliance-workspace -init
go run ./cmd/compliance-workspace
- Buka URL
http://127.0.0.1:<port>yang tertera pada konsol.
Untuk mengompilasi biner mandiri berikon resmi dan menjalankan seluruh pengujian otomatis:
# 1. Jalankan unit test dan static checks
go test -count=1 ./...
go vet ./...
# 2. Kompilasi biner Windows x64 dengan ikon resmi
$buildDir = Join-Path $env:TEMP ("ComplianceWorkspace-v1.1.2-build-" + (Get-Date -Format "yyyyMMdd-HHmmss"))
New-Item -ItemType Directory -Path $buildDir | Out-Null
$executablePath = Join-Path $buildDir "ComplianceWorkspace-v1.1.2-Windows-x64.exe"
powershell -ExecutionPolicy Bypass -File .\scripts\build-windows.ps1 -OutputPath $executablePath
# 3. Setelah source freeze dan otorisasi rilis, buat paket portabel
powershell -ExecutionPolicy Bypass -File .\scripts\package-release.ps1 -ExecutablePath $executablePath
# 4. Jalankan pengujian portabilitas menyeluruh (14 skenario)
powershell -ExecutionPolicy Bypass -File .\scripts\run-smoke-test.ps1package-release.ps1 tidak boleh dijalankan sebagai packaging resmi sebelum gate rilis memberi otorisasi. Rincian kontrak -OutputPath, -ExecutablePath, -SkipTests, provenance commit, dan batas bukti smoke test dijelaskan pada docs/BUILDING.md dan docs/TESTING.md.
Seluruh berkas operasional disimpan secara lokal relatif terhadap lokasi berkas executable ComplianceWorkspace.exe:
data/compliance.db: Basis data utama SQLite. Dibuat dan dimigrasikan secara otomatis saat aplikasi pertama kali dijalankan.backups/*.db: Berkas snapshot cadangan konsisten SQLite hasil perintahVACUUM INTOdan safety snapshot otomatis.exports/: Folder kosong yang disediakan dalam paket portabel. Ekspor aplikasi dikirim sebagai unduhan HTTP; lokasi akhir file ditentukan oleh pengaturan peramban.
Untuk memindahkan aplikasi ke perangkat laptop lain, cukup matikan aplikasi dan salin seluruh folder aplikasi ke perangkat tujuan.
- Localhost Loopback Only: Server hanya mengikat koneksi pada
127.0.0.1. Koneksi dari perangkat lain pada jaringan lokal (LAN) maupun internet otomatis ditolak. - Validasi Host & Origin: Mencegah serangan DNS Rebinding dan manipulasi header request.
- Proteksi CSRF: Memvalidasi token kriptografis acak
cw_csrf_tokenpada setiap permintaan mutasi data (POST,PUT,DELETE). - Content Security Policy (CSP): Mengunci eksekusi skrip hanya dari sumber internal lokal (
default-src 'self'). - Tanpa Telemetri: Aplikasi sama sekali tidak mengumpulkan data penggunaan, analitik, atau berkomunikasi ke server pihak ketiga.
Untuk pemahaman teknis mendalam mengenai arsitektur, basis data, dan tata kelola rilis:
- ARCHITECTURE.md: Diagram arsitektur, pipeline middleware, spesifikasi endpoint REST API, dan alur data internal.
- DATABASE.md: Skema DDL tabel SQLite, indeks performa, transaksi atomik, migrasi 001–006, dan pola tombstone penghapusan aman.
- BUILDING.md: Prosedur kompilasi biner Windows x64, kompilasi resource ikon
go-winres, dan packaging rilis. - TESTING.md: Panduan pengujian unit, integrasi, static checks, targeted regression, serta cakupan dan batas portable smoke test.
- SECURITY.md: Model keamanan, batas penggunaan, dan cara melaporkan kerentanan tanpa data sensitif.
- CHANGELOG.md: Catatan riwayat perubahan dan peningkatan setiap rilis.