Skip to main content

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 Halaman Tasks adalah pusat manajemen pekerjaan tim kamu. Dibangun di atas 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
Drag-and-drop antar kuadran didukung oleh @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 dengan due_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 melalui gamificationHelper. 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

  1. Buka halaman Tasks dari sidebar — default view adalah My Day
  2. Klik “Tambah Task” atau gunakan Quick Add inline untuk task cepat
  3. Isi judul, deskripsi (rich text dengan ReactQuill), deadline, dan prioritas
  4. Assign task ke anggota tim dan tambahkan tags untuk kategorisasi
  5. Pilih view yang sesuai: Board untuk Kanban, Matrix untuk prioritas, Calendar untuk timeline
  6. Untuk task besar, pecah menjadi sub-task melalui SubTaskManager
  7. Untuk task berulang, klik Recurring dan atur pola pengulangan
  8. 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_config untuk 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)

Field permissions pada entity WorkspaceMember menyediakan kontrol hak akses granular: