Skip to Content
Alur produkFlowchart Lengkap

Diagram alur lengkap (Mulai ke Selesai)

Diagram alur sistem Makarya secara menyeluruh menggambarkan perjalanan seluruh persona: Kandidat (Pencari Kerja), HR Recruiter, Hiring Manager, dan Penilai Ahli (Expert Verifier) dari titik awal (MULAI) hingga penetapan hasil kerja (SELESAI).

Prinsip & Invarian Utama Sistem

Alur kerja aplikasi Makarya dibangun di atas 4 fondasi teknis mutlak:

  1. Single Active Target:
    Kandidat hanya dapat memiliki maksimal 1 posisi target aktif dalam satu waktu (ditegakkan via database partial unique constraint activeSlot). Mengganti target menandai target lama sebagai REPLACED tanpa menghapus karya atau asesmen.
  2. Reuse-Before-Task (Anti-Tugas Ulang):
    Karya dan asesmen melekat permanen pada kandidat. Saat memilih posisi baru, mesin matching mengevaluasi karya/asesmen lama terlebih dahulu. Jika asesmen valid (rubrik, level, konteks, masa berlaku), status otomatis MATCHED tanpa perlu ujian ulang.
  3. Zero-Percentage Readiness (Kesiapan Beralasan Pasti):
    Tidak ada skor persentase semu (misal: “85% cocok”). Status kesiapan adalah status tegas beralasan: READY_FOR_HR_REVIEW (semua syarat wajib terpenuhi + nol hard blocker) atau NOT_READY (disertai daftar gap nyata).
  4. Human Expert Verification dengan Pembatasan Revisi:
    Validasi kompetensi dilakukan oleh penilai ahli manusia terakreditasi sesuai lingkup (competencyScope). Demi mencegah eksploitasi dan beban tanpa akhir, jalur revisi dibatasi tepat 1 kali per pengajuan.

1. Pipa Alur Utama (The 5 Golden Stages)

Sebelum menelaah detail per peran, alur inti sistem Makarya selalu bergerak dalam 5 tahapan berurutan (Golden Pipeline) yang deterministik:


2. Diagram Alur Makro Terstruktur (Sequential Phase Handoff)

Berikut adalah diagram alur makro yang memperlihatkan titik serah-terima (hand-off) antar-persona dari MULAI hingga SELESAI, disusun secara kronologis per fase tanpa percabangan kusut:


3. Alur Detail Kandidat (Pencari Kerja)


4. Alur Detail HR Recruiter (Perusahaan)


5. Alur Detail Hiring Manager (Pimpinan Teknis)


6. Alur Detail Penilai Ahli (Expert Verifier)


7. Transisi Status Kesiapan (State Machine)


8. Matriks Interaksi Antar-Persona & Rute Aplikasi

Tabel referensi komprehensif yang memetakan setiap fase, antarmuka rute web, aktor yang bertanggung jawab, serta aksi teknis di basis data:

Fase Siklus HidupAktor UtamaRute UI AplikasiAksi Teknis & Endpoint APILuaran State / Data
1. Orientasi & ExplorerPublik / Pengunjung/, /tentang, /target-pekerjaanGET /api/public/targets, GET /target/[slug]Pratinjau spesifikasi lowongan publik
2. AutentikasiSemua Peran/masuk, /daftarPOST /api/auth/login, POST /api/auth/register, /api/auth/demoSesi terautentikasi (Cookie HttpOnly makarya_session)
3. Setup Tim OrganisasiHR Recruiter/perusahaan/pengaturanPOST /api/company/team/invitePembuatan ActorGrant (HM & Verifier dengan competencyScope)
4. Penautan LowonganHR Recruiter/perusahaan/posisiPOST /api/company/positionsPembuatan ExternalPosition berstatus DRAFT
5. Penyusunan KriteriaHR Recruiter/perusahaan/posisi/[id]PUT /api/company/positions/[id]/manifestPembuatan CompetencyManifest & PositionRequirement
6. Pengesahan KriteriaHiring Manager/perusahaan/posisi/[id]POST /api/company/positions/[id]/publishManifest PUBLISHED, Checksum SHA-256 terkunci
7. Seleksi & Aktivasi TargetKandidat/target/[slug], /dashboardPOST /api/candidate/targetsCandidateTarget baru, activeSlot = candidateId
8. Portofolio & Proyek SingkatKandidat/dashboard/karya, /dashboard/proyek-singkatPOST /api/candidate/works, POST /api/candidate/projects/attemptPenyimpanan berkas privat di Blob/R2 + metadata Work
9. Pengajuan Asesmen AhliKandidat/dashboard/karyaPOST /api/candidate/assessment-requestsAssessment status REQUESTED, Proyeksi IN_REVIEW
10. Penugasan VerifierHR Recruiter/perusahaan/penilaianPOST /api/company/assessments/assignVerifierAssignment ke akun dengan scope kompetensi cocok
11. Verifikasi Rubrik AhliPenilai Ahli/perusahaan/penilaianPOST /api/verifier/assessments/[id]/evaluateNilai butir rubrik, draft umpan balik
12. Siklus Revisi (Maks 1x)Verifier & Kandidat/dashboard/revisi/[id]POST /api/verifier/assessments/[id]/revision, POST /api/candidate/revisionsNEEDS_REVISION, revisi karya disubmit ulang
13. Penyelesaian AsesmenPenilai Ahli/perusahaan/penilaianPOST /api/verifier/assessments/[id]/completeAsesmen COMPLETED, Proyeksi Requirement MATCHED
14. Eskalasi KesiapanMesin SistemLatar Belakang (Transaksional)Evaluasi otomatis readiness.tsStatus target: READY_FOR_HR_REVIEW
15. Berbagi Profil SelektifKandidat/dashboard/profil-skillPOST /api/candidate/sharesToken hash SHA-256, rute resolusi publik /profil/[token]
16. Keputusan Seleksi HRHR Recruiter/perusahaan/kandidat/[slug]POST /api/company/decisionsCompanyCandidateDecision (ADVANCE / CLARIFY / NOT_ADVANCED)
17. Pelaporan & OutcomeKandidat & HR/dashboard/hasilPOST /api/candidate/outcomes, POST /api/company/outcomes/confirmRekam Outcome penempatan nyata terkonfirmasi

9. Penanganan Kasus Tepi & Fail-Safes (Edge Cases)

Dalam memastikan integritas tinggi pada seluruh siklus hidup aplikasi, sistem menerapkan mekanisme pertahanan berlapis:

  1. Upaya Penggantian Target saat Ada Asesmen Berjalan (IN_REVIEW):
    • Masalah: Kandidat ingin berpindah target saat verifier sedang memeriksa karya untuk target aktif.
    • Solusi Sistem: Sistem menampilkan dialog peringatan tegas bahwa target aktif akan beralih status menjadi REPLACED. Namun, berkas karya, klaim kompetensi, dan asesmen yang sedang berlangsung TIDAK dihapus. Saat asesmen selesai, hasilnya tetap tersimpan pada profil kandidat dan dapat langsung di-reuse pada target baru.
  2. Upaya Eksploitasi Perulangan Revisi Tanpa Batas:
    • Masalah: Kandidat atau verifier terjebak dalam siklus bolak-balik revisi tanpa henti.
    • Solusi Sistem: Database menyimpan kolom hitungan revisionRequests. Jika revisionRequests >= 1, tombol “Minta Perbaikan” terkunci permanen. Verifier diwajibkan memberikan penilaian final (COMPLETED).
  3. Pencabutan Tautan Profil Skill oleh Kandidat (Right to Revoke):
    • Masalah: Kandidat ingin membatalkan akses pihak eksternal atas portofolio dan asesmen yang pernah dibagikan.
    • Solusi Sistem: Kandidat dapat mengeklik “Cabut Tautan” kapan saja. Token langsung ditandai revokedAt = now(). Permintaan ke /profil/[token] berikutnya langsung merespon HTTP 410 Gone dengan header no-store dan no-referrer, tanpa menyisakan data di cache.
  4. Pembatalan / Revokasi Penilaian Akibat Pelanggaran Integritas:
    • Masalah: Bukti karya terbukti plagiat atau verifier kehilangan izin akreditasi setelah penilaian selesai.
    • Solusi Sistem: Eksekusi revokasi atomik mengubah asesmen menjadi REVOKED. Mesin readiness secara instan menurunkan status target kembali ke NOT_READY, dan memberitahukan HR recruiter tanpa menghapus jejak audit log.
  5. Pemisahan Otoritas Rekruter vs Hiring Manager:
    • Masalah: Hiring manager mencoba mengambil keputusan rekrutmen akhir atau rekruter menerbitkan kriteria tanpa validasi teknis.
    • Solusi Sistem: RBAC membatasi hak secara ketat di tingkat API route handler (permissions.ts & ActorGrant). Hiring manager hanya memiliki otorisasi penerbitan kriteria (PUBLISH), sedangkan keputusan rekrutmen (ADVANCE) hanya dapat dieksekusi oleh akun dengan grant RECRUITER.
Last updated on