title: “Tasks” description: “Task management dengan 7 view, Eisenhower Matrix, sub-task, recurring task, Google Calendar sync, dan AI assistant di SNISHOP ERP.”
Tasks

Tasks.jsx (1549 baris) dengan arsitektur multi-view yang memungkinkan tim melihat tugas dari berbagai perspektif — mulai dari daftar sederhana hingga Eisenhower Matrix untuk prioritas strategis.
Setiap task tersimpan di entity Task pada base44 backend dan tersinkronisasi secara realtime melalui BroadcastChannel, Pusher, dan global events. Sistem ini juga terintegrasi dengan gamifikasi (XP), Google Calendar, dan AI assistant.
Arsitektur Komponen
Entity Task
7 View + 2 Mode Tambahan
TaskSidebar menyediakan navigasi dengan 9 view berbeda, masing-masing dengan filter otomatis:Eisenhower Matrix
TaskMatrixView memetakan task ke 4 kuadran berdasarkan kombinasi priority dan urgensi:- Do First (merah): Task urgent dan penting — kerjakan segera
- Schedule (kuning): Task urgent tapi kurang penting — jadwalkan
- Delegate (biru): Task penting tapi tidak urgent — delegasikan
- Eliminate (abu-abu): Task tidak urgent dan tidak penting — pertimbangkan hapus
@hello-pangea/dnd.
Status & Prioritas
Status Workflow
Prioritas Level
Sub-Task & Recurring Task
SubTaskManager
Setiap task bisa memiliki sub-task yang lebih kecil. Sub-task memiliki status independen dan progress task induk dihitung dari rasio sub-task yang selesai.RecurringTask
Task yang berulang secara otomatis berdasarkan pola yang ditentukan:- Harian, mingguan, bulanan
- Custom interval
- Entity terpisah: RecurringTask
Integrasi Eksternal
Google Calendar Sync
Task dengandue_date bisa disinkronisasi ke Google Calendar melalui syncTaskToGoogleCalendar(). Field google_event_id menyimpan ID event di Google untuk update dua arah.
Gamifikasi
Setiap task yang diselesaikan memberikan XP melaluigamificationHelper. XP berkontribusi ke level dan achievement user.
Notifikasi
TaskNotificationChecker memantau deadline yang mendekat dan mengirim notifikasi otomatis berdasarkan reminder_config.
Workspace Policy
tasksWorkspacePolicy.js (116 baris) menangani:
- Auto-create workspace company jika belum ada
- Personal scope menggunakan
owner_id - SRE self-healing: deteksi duplikat workspace, merge tasks, nonaktifkan duplikat
Realtime Sync
Sistem sync menggunakan 4 layer untuk memastikan konsistensi data:
Anti-flickering guard (
hasRecentLocalUpdate) mencegah data lama dari server menimpa update lokal yang baru saja dilakukan.
Subscription Limit
Storage tracking估算asi penggunaan storage pada setiap create task.
Cara Akses
Dari sidebar, klik menu Productivity > Tasks.Flow Penggunaan
- Buka halaman Tasks dari sidebar — default view adalah My Day
- Klik “Tambah Task” atau gunakan Quick Add inline untuk task cepat
- Isi judul, deskripsi (rich text dengan ReactQuill), deadline, dan prioritas
- Assign task ke anggota tim dan tambahkan tags untuk kategorisasi
- Pilih view yang sesuai: Board untuk Kanban, Matrix untuk prioritas, Calendar untuk timeline
- Untuk task besar, pecah menjadi sub-task melalui SubTaskManager
- Untuk task berulang, klik Recurring dan atur pola pengulangan
- Tandai task sebagai done saat selesai — XP otomatis bertambah
Tips
- Gunakan My Day setiap pagi untuk menentukan fokus hari ini, jangan langsung buka All Tasks karena bisa overwhelming
- Eisenhower Matrix sangat efektif untuk meeting prioritas tim — mapping task ke kuadran membantu diskusi objektif
- Set
reminder_configuntuk setiap task dengan deadline ketat, jangan andalkan ingatan - Manfaatkan Board view dengan drag-and-drop untuk update status yang lebih intuitif daripada klik dropdown
Referensi Entity Schema
Bagian ini mendokumentasikan seluruh field dari setiap entity yang terlibat dalam modul task management, bersumber langsung dari definisi JSONC base44.Diagram Relasi Entity (ERD)
Tabel Schema Entity: Task
Entity utama untuk menyimpan setiap task dalam sistem. Sumber:base44/entities/Task.jsonc
Tabel Schema Entity: RecurringTask
Entity untuk mendefinisikan task yang berulang secara otomatis. Sumber:base44/entities/RecurringTask.jsonc
Tabel Schema Entity: Project
Entity untuk mengelola proyek yang menaungi kumpulan task. Sumber:base44/entities/Project.jsonc
Tabel Schema Entity: TimeEntry
Entity untuk mencatat waktu yang dihabiskan pada suatu task atau proyek. Sumber:base44/entities/TimeEntry.jsonc
Tabel Schema Entity: Comment
Entity untuk komentar dan diskusi pada task atau note. Sumber:base44/entities/Comment.jsonc
Tabel Schema Entity: Workspace
Entity untuk mengelompokkan task ke dalam scope kerja tertentu. Sumber:base44/entities/Workspace.jsonc
Tabel Schema Entity: WorkspaceMember
Entity untuk mengelola keanggotaan dan hak akses dalam workspace. Sumber:base44/entities/WorkspaceMember.jsonc
Tabel Schema Entity: Label
Entity untuk label/tag yang dapat diterapkan pada task. Sumber:base44/entities/Label.jsonc
Tabel Schema Entity: User
Entity pengguna sistem dengan field terkait task management. Sumber:base44/entities/User.jsonc
Siklus Hidup Task (Task Lifecycle)
Diagram state berikut menggambarkan seluruh transisi status yang valid untuk sebuah task, dari pembuatan hingga penyelesaian atau pembatalan.Keterangan Transisi Status
Diagram Sekuens
1. Pembuatan Task Baru
2. Penugasan Task ke Anggota Tim
3. Penyelesaian Task & Gamifikasi
4. Pembuatan Recurring Task
Referensi Enum
Enum: Task Status
Enum: Priority Level
Enum: RecurringTask Frequency
Enum: Project Status
Enum: TimeEntry Status
Enum: WorkspaceMember Role
Enum: Comment Entity Type
Enum: Subscription Plan
Matriks Hak Akses (RBAC)
Tabel berikut merangkum hak akses setiap peran workspace terhadap operasi pada entity Task.Detail Permissions Object (WorkspaceMember)
Fieldpermissions pada entity WorkspaceMember menyediakan kontrol hak akses granular:
