Templat Backend Aplikasi Whistleblower Internal
Log Kasus Anonim dan Pelacakan Penyidikan
Backend whistleblower internal siap produksi di Back4app dengan log anonim, pelacakan status kasus, dan catatan penyidikan. Termasuk diagram ER, kamus data, skema JSON, playground API, dan prompt AI Agent untuk bootstrap cepat.
Poin Penting
Template ini memberikan Anda backend whistleblower internal dengan log anonim, status kasus, dan catatan penyelidikan sehingga tim Anda dapat menjaga intake, triase, dan tindak lanjut dalam satu sistem.
- Intake log anonim — Simpan laporan di WhistleblowerLog dengan bidang yang aman untuk kasus seperti reportChannel dan anonymityFlag.
- Pelacakan status kasus — Gunakan perubahan status CaseFile untuk menunjukkan apakah suatu masalah baru, dalam tinjauan, di eskalasi, atau ditutup.
- Catatan penyelidikan dalam konteks — Lampirkan entri InvestigationNote ke CaseFile sehingga penyelidik dapat mencatat tindakan, hasil, dan langkah selanjutnya.
Ikhtisar: Pengaduan Internal
Kebersihan pengaduan internal yang baik berarti peninjau dapat mengambil contoh catatan dan segera memahami ruang lingkup, status, dan tindakan yang diperlukan selanjutnya. Solusinya operasional, bukan motivasional. Gunakan Reporter, WhistleblowerLog, CaseFile, dan InvestigationNote sebagai prinsip kepatuhan yang terstruktur di Back4app sehingga alur kerja pengaduan internal tetap konsisten di seluruh lokasi dan shift. Skema mencakup Reporter (alias, contactMethod, consentToFollowUp), WhistleblowerLog (reportChannel, category, details, anonymityFlag), CaseFile (caseNumber, status, priority, assignedCoordinator), dan InvestigationNote (caseFile, noteText, noteType, createdBy) dengan otorisasi, penerimaan yang dianonimkan, dan penanganan kasus yang sudah terintegrasi. Hubungkan frontend yang Anda pilih dan kirim lebih cepat.
Terbaik untuk:
Tinjauan backend Pelapor Internal
Perubahan musiman paling mempengaruhi pelapor internal saat perubahan staf tetapi model data tidak fleksibel dengan SKU baru, situs, atau kebijakan.
Ringkasan ini mengarahkan tim di sekitar Pelapor, WhistleblowerLog, dan CaseFile sebelum siapa pun terjun ke diagram ER atau ekspor JSON.
Fitur Inti Pelapor
Setiap kartu teknologi di pusat ini menggunakan skema backend whistleblower yang sama dengan Reporter, WhistleblowerLog, CaseFile, dan InvestigationNote.
Penerimaan pelapor
Pelapor menyimpan alias, contactMethod, dan consentToFollowUp.
Log anonim
WhistleblowerLog mencatat reportChannel, kategori, detail, dan anonymityFlag.
Pelacakan status kasus
CaseFile menyimpan caseNumber, status, prioritas, dan assignedCoordinator.
Catatan investigasi
InvestigationNote menghubungkan caseFile, noteType, noteText, dan createdBy.
Mengapa Membangun Backend Pelapor Internal Anda dengan Back4app?
Back4app memberikan Anda primitif pelapor, kasus, dan catatan sehingga tim Anda dapat fokus pada alur kerja penerimaan dan investigasi alih-alih infrastruktur.
- •CaseFile dan WhistleblowerLog dalam satu model: WhistleblowerLog menangkap rincian anonim sementara CaseFile menyimpan status, prioritas, dan penugasan untuk tim investigasi.
- •Akses terkontrol ke catatan sensitif: Entri InvestigationNote dapat dibatasi hanya untuk koordinator dan peninjau yang ditugaskan menggunakan ACL dan validasi Cloud Code.
- •Realtime ditambah fleksibilitas API: Gunakan Live Queries untuk perubahan status kasus sambil menjaga REST dan GraphQL tersedia untuk dasbor staf dan alat audit.
Bangun dan iterasi penerimaan pelapor dengan cepat dengan satu kontrak backend di setiap platform.
Manfaat Utama
Backend whistleblower yang membantu Anda beralih dari pengajuan anonim ke penanganan kasus tanpa kehilangan jejak catatan.
Pengaturan intake lebih cepat
Mulai dari skema Reporter, WhistleblowerLog, CaseFile, dan InvestigationNote yang lengkap daripada merancang tabel kasus dari nol.
Serah terima status yang lebih bersih
Gunakan status CaseFile dan bidang assignedCoordinator sehingga koordinator tahu masalah mana yang baru, aktif, atau ditutup.
Penanganan catatan yang dilindungi
Batasi penulisan InvestigationNote hanya untuk pengulas dan penyelidik yang berwenang.
Jelas batas akses
Pisahkan konten log anonim dari data kontak pelapor dan lindungi keduanya dengan ACL/CLP.
Riwayat kasus dalam satu tempat
Simpan log pelapor dan catatan penyelidikan bersama agar tim tinjauan dapat mengikuti urutan kejadian.
Bootstrap dibantu AI
Hasilkan kerangka backend dan panduan integrasi dengan cepat dengan satu permintaan terstruktur.
Siap untuk meluncurkan aplikasi pelapor Anda?
Biarkan Agen AI Back4app membangun backend pelapor internal Anda dan menghasilkan log anonim, status kasus, dan catatan penyelidikan dari satu perintah.
Gratis untuk memulai — 50 perintah Agen AI/bulan, tanpa kartu kredit yang diperlukan
Tumpukan Teknis
Semua termasuk dalam template backend pelapor internal ini.
Diagram ER
Model hubungan entitas untuk skema backend pelapor internal.
Skema yang mencakup pelapor, log anonim, berkas kasus, dan catatan penyelidikan.
Lihat sumber diagram
erDiagram
User ||--o{ WhistleblowerCase : "reportedBy"
User ||--o{ WhistleblowerCase : "assignedTo"
User ||--o{ InvestigationNote : "author"
User ||--o{ CaseStatusUpdate : "updatedBy"
WhistleblowerCase ||--o{ AnonymousLog : "case"
WhistleblowerCase ||--o{ InvestigationNote : "case"
WhistleblowerCase ||--o{ CaseStatusUpdate : "case"
User {
String objectId PK
String username
String email
String password
String role
String fullName
Date createdAt
Date updatedAt
}
WhistleblowerCase {
String objectId PK
String caseNumber
String title
String category
String status
String priority
String reportedById FK
String assignedToId FK
String anonymousCode
String summary
Date createdAt
Date updatedAt
}
AnonymousLog {
String objectId PK
String caseId FK
String message
String visibility
Date submittedAt
String authorCode
Date createdAt
Date updatedAt
}
InvestigationNote {
String objectId PK
String caseId FK
String authorId FK
String noteType
String noteText
Boolean isInternalOnly
Date createdAt
Date updatedAt
}
CaseStatusUpdate {
String objectId PK
String caseId FK
String updatedById FK
String fromStatus
String toStatus
String statusComment
Date updatedAtTime
Date createdAt
Date updatedAt
}
Alur Integrasi
Alur runtime tipikal untuk otentikasi, penerimaan log anonim, pembaruan status kasus, dan catatan penyelidikan.
Lihat sumber diagram
sequenceDiagram
participant User
participant App as Internal Whistleblower App
participant Back4app as Back4app Cloud
User->>App: Sign in as manager or coordinator
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open case queue
App->>Back4app: GET /classes/WhistleblowerCase?include=reportedBy,assignedTo&order=-updatedAt
Back4app-->>App: Case list with status and anonymousCode
User->>App: Add anonymous log or investigation note
App->>Back4app: POST /classes/AnonymousLog
App->>Back4app: POST /classes/InvestigationNote
Back4app-->>App: Log and note objectIds
User->>App: Update case status
App->>Back4app: POST /classes/CaseStatusUpdate
App->>Back4app: PUT /classes/WhistleblowerCase/:objectId
Back4app-->>App: Updated case status and timelineKamus Data
Referensi tingkat bidang penuh untuk setiap kelas dalam skema pelapor.
| Bidang | Tipe | Deskripsi | Diperlukan |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Otomatis |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | User role such as manager, coordinator, or investigator | |
| fullName | String | Display name for internal staff | — |
| createdAt | Date | Auto-generated creation timestamp | Otomatis |
| updatedAt | Date | Auto-generated last-update timestamp | Otomatis |
8 bidang di User
Keamanan dan Izin
Bagaimana strategi ACL dan CLP mengamankan pelapor, log anonim, berkas kasus, dan catatan penyelidikan.
Kontrol privasi Pelapor
Anggap contactMethod Pelapor dan consentToFollowUp sebagai bidang yang dibatasi; hanya koordinator yang disetujui yang dapat melihat detail tindak lanjut.
Integritas log anonim
Hanya staf yang terautentikasi yang dapat membuat atau menutup item CaseFile, sementara pengiriman WhistleblowerLog dapat tetap anonim berdasarkan desain.
Akses penyelidikan terbatas
Batasi pembacaan dan penulisan pada InvestigationNote dan CaseFile kepada peninjau yang ditugaskan, pemimpin kepatuhan, atau koordinator.
Skema (JSON)
Definisi skema JSON mentah siap untuk disalin ke Back4app atau digunakan sebagai referensi implementasi.
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"fullName": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "WhistleblowerCase",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"caseNumber": {
"type": "String",
"required": true
},
"title": {
"type": "String",
"required": true
},
"category": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"priority": {
"type": "String",
"required": true
},
"reportedBy": {
"type": "Pointer",
"required": false,
"targetClass": "User"
},
"assignedTo": {
"type": "Pointer",
"required": false,
"targetClass": "User"
},
"anonymousCode": {
"type": "String",
"required": true
},
"summary": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AnonymousLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"case": {
"type": "Pointer",
"required": true,
"targetClass": "WhistleblowerCase"
},
"message": {
"type": "String",
"required": true
},
"visibility": {
"type": "String",
"required": true
},
"submittedAt": {
"type": "Date",
"required": true
},
"authorCode": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "InvestigationNote",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"case": {
"type": "Pointer",
"required": true,
"targetClass": "WhistleblowerCase"
},
"author": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"noteType": {
"type": "String",
"required": true
},
"noteText": {
"type": "String",
"required": true
},
"isInternalOnly": {
"type": "Boolean",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CaseStatusUpdate",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"case": {
"type": "Pointer",
"required": true,
"targetClass": "WhistleblowerCase"
},
"updatedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"fromStatus": {
"type": "String",
"required": true
},
"toStatus": {
"type": "String",
"required": true
},
"statusComment": {
"type": "String",
"required": true
},
"updatedAtTime": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Bangun dengan Agen AI
Gunakan Agen AI Back4app untuk menghasilkan aplikasi pelapor internal yang nyata dari template ini, termasuk frontend, backend, otentikasi, dan log anonim, status kasus, serta alur catatan investigasi.
Buat backend aplikasi pelapor internal di Back4app dengan skema dan perilaku yang tepat ini. Skema: 1. Pengguna (gunakan bawaan Back4app): nama pengguna, email, kata sandi; objectId, createdAt, updatedAt (sistem). 2. Pelapor: alias (String, wajib), metodeKontak (String), persetujuanUntukTindakLanjut (Boolean, wajib); objectId, createdAt, updatedAt (sistem). 3. LogPelapor: pelapor (Pointer ke Pelapor, opsional), saluranLaporkan (String, wajib), kategori (String, wajib), rincian (String, wajib), tandaAnonimitas (Boolean, wajib), dikirimPada (Tanggal, wajib); objectId, createdAt, updatedAt (sistem). 4. BerkasKasus: nomorKasus (String, wajib), log (Pointer ke LogPelapor, wajib), status (String, wajib), prioritas (String, wajib), koordinatorYangDitugaskan (Pointer ke Pengguna, opsional), dibukaPada (Tanggal, wajib), ditutupPada (Tanggal); objectId, createdAt, updatedAt (sistem). 5. CatatanInvestigasi: berkasKasus (Pointer ke BerkasKasus, wajib), tipeCatatan (String, wajib), teksCatatan (String, wajib), dibuatOleh (Pointer ke Pengguna, wajib), dibuatPada (Tanggal, wajib); objectId, createdAt, updatedAt (sistem). Keamanan: - Lindungi metodeKontak Pelapor dan persetujuanUntukTindakLanjut. Gunakan ACL/CLP sehingga hanya koordinator yang disetujui dapat melihat detail yang dibatasi. - Hanya staf yang terautentikasi yang dapat membuat atau menutup item BerkasKasus. Gunakan Cloud Code untuk validasi. - Batasi baca dan tulis pada CatatanInvestigasi untuk peninjau dan koordinator yang ditugaskan. Otentikasi: - Daftar, masuk, keluar. Perilaku: - Kirim log anonim, daftar berkas kasus, perbarui status kasus, dan tambahkan catatan investigasi. Kirim: - Aplikasi Back4app dengan skema, ACL, CLP; frontend untuk penerimaan anonim, berkas kasus, dan catatan investigasi.
Tekan tombol di bawah ini untuk membuka Agen dengan prompt template ini yang sudah diisi sebelumnya.
Ini adalah prompt dasar tanpa akhiran teknologi. Anda dapat menyesuaikan tumpukan frontend yang dihasilkan setelahnya.
API Playground
Cobalah endpoint REST dan GraphQL terhadap skema pelapor. Respons menggunakan data tiruan dan tidak memerlukan akun Back4app.
Menggunakan skema yang sama dengan template ini.
Pilih Teknologi Anda
Perluas setiap kartu untuk melihat cara mengintegrasikan Reporter, WhistleblowerLog, dan CaseFile dengan tumpukan pilihan Anda.
Flutter Backend Pelapor Internal
React Backend Pelapor Internal
React Native Backend Pelapor Internal
Next.js Backend Pelapor Internal
JavaScript Backend Pelapor Internal
Android Backend Pelapor Internal
iOS Backend Pelapor Internal
Vue Backend Pelapor Internal
Angular Backend Pelapor Internal
GraphQL Backend Pelapor Internal
REST API Backend Pelapor Internal
PHP Backend Pelapor Internal
.NET Backend Pelapor Internal
Apa yang Anda Dapatkan dengan Setiap Teknologi
Setiap stack menggunakan skema backend whistleblower dan kontrak API yang sama.
Struktur data whistleblower yang terintegrasi
Kelola pelapor, log anonim, berkas kasus, dan catatan investigasi dengan satu skema yang konsisten.
Penerimaan anonim untuk pelaporan internal
Tangkap reportChannel, kategori, detail, dan anonymityFlag dalam alur kerja yang bersih.
Visibilitas status kasus untuk koordinator
Jaga agar caseNumber, status, dan assignedCoordinator tetap sinkron di seluruh tim.
Akses catatan yang terkendali untuk penyelidik
Batasi tampilan InvestigationNote hanya untuk staf yang tepat tanpa mengekspos detail tindak lanjut.
Perbandingan Teknologi
Bandingkan kecepatan pengaturan, gaya SDK, dan dukungan AI di semua teknologi yang didukung.
| Kerangka kerja | Waktu Setup | Manfaat Aplikasi Pelapor | Jenis SDK | Dukungan AI |
|---|---|---|---|---|
| Sekitar 5 menit | Satu basis kode untuk penerimaan pelapor di mobile dan web. | SDK Tipe Terketik | Penuh | |
| Kurang dari 5 menit | Dasbor web cepat untuk status kasus dan catatan. | SDK Diketik | Penuh | |
| ~3–7 menit | Aplikasi mobile lintas platform untuk pelaporan anonim. | SDK Diketik | Penuh | |
| Pengaturan cepat (5 menit) | Dasbor tinjauan kasus yang dirender di server. | SDK Diketik | Penuh | |
| ~3–5 menit | Integrasi pelaporan internal ringan. | SDK Diketik | Penuh | |
| Sekitar 5 menit | Aplikasi Android asli untuk pengambilan log anonim. | SDK tertulis | Penuh | |
| Kurang dari 5 menit | Aplikasi iOS asli untuk tinjauan kasus. | SDK tertulis | Penuh | |
| ~3–7 menit | Konsol staf Reactive untuk kasus pelapor. | SDK tertulis | Penuh | |
| Pengaturan cepat (5 menit) | Dasbor perusahaan untuk investigasi. | SDK yang diketik | Penuh | |
| Kurang dari 2 menit | API GraphQL yang fleksibel untuk kasus pelapor rahasia. | API GraphQL | Penuh | |
| Pengaturan cepat (2 menit) | Integrasi REST API untuk log dan kasus anonim. | REST API | Penuh | |
| ~3 menit | Alur kerja PHP sisi server untuk penanganan kasus. | REST API | Penuh | |
| ~3–7 menit | Backend .NET untuk operasi pelapor. | SDK yang Diketik | Penuh |
Waktu setup mencerminkan durasi yang diharapkan dari bootstrap proyek hingga log pelapor pertama atau permintaan kasus menggunakan skema template ini.
Pertanyaan yang Sering Diajukan
Pertanyaan umum tentang membangun backend pelapor internal dengan template ini.
Siap untuk Membangun Aplikasi Pelapor Internal Anda?
Mulai proyek pelapor internal Anda dalam hitungan menit. Tidak perlu kartu kredit.