Project Brief

Dashboard Brief

Pilih projek dashboard anda. Setiap pilihan direka untuk menguji kemahiran full-stack anda — dari data model hingga visualisasi interaktif.

A
📦

Inventory Tracker

Track stok barang, kuantiti, kategori, dan harga. Dashboard untuk memantau inventori dengan visualisasi stok.

Penerangan

Sistem untuk mengurus inventori barang. Pengguna boleh menambah item baru, mengemas kini kuantiti stok, melihat item yang hampir habis, dan menganalisis taburan stok mengikut kategori. Sesuai untuk perniagaan kecil atau pembelajaran logistik.

Cadangan Data Model

ColumnTypeKeterangan
id PKuuidID unik (auto-generate)
nametextNama barang
quantityintegerKuantiti stok semasa
categorytextKategori (contoh: Elektronik, Makanan, Pakaian)
pricedecimal(10,2)Harga seunit
min_stockintegerStok minimum (untuk alert)
created_attimestampTarikh tambah (auto)

Senarai Fitur

  • Paparan semua item dalam table dengan search
  • Tambah item baru (form dengan validation)
  • Edit kuantiti stok
  • Delete item
  • Filter ikut kategori
  • Bar chart — bilangan item mengikut kategori
  • Card ringkasan: Total Items, Total Categories, Low Stock Items
  • Alert item low stock (quantity < min_stock)
  • Line chart — trend penambahan stok mengikut masa
  • Export data ke CSV
  • Barcode scanner (mobile)
  • Real-time updates bila stok berubah

Gambaran UI

Sidebar kiri dengan menu Dashboard, Inventory, Categories, Settings. Halaman utama: 3-4 card ringkasan di atas, table inventory di tengah (boleh scroll), bar chart di sebelah kanan. Ada search bar dan dropdown filter di atas table. Butang "Tambah Item" di sudut kanan atas.

Contoh Prompt

"Bina dashboard Inventory Tracker dengan: - Sidebar (Dashboard, Inventory, Categories) - 4 cards: Total Items, Low Stock, Categories, Value - Table dengan search & filter kategori - Bar chart: items per category dari Supabase - Dark theme, responsive"
B
📧

Contact Manager

Simpan, cari, dan urus senarai contact. Dashboard hubungan dengan visualisasi rangkaian.

Penerangan

Sistem pengurusan hubungan (CRM ringan). Pengguna boleh menyimpan contact, mencari dengan pantas, menapis mengikut syarikat atau tag, dan melihat statistik hubungan. Sesuai untuk rangkaian profesional atau pengurusan pelanggan.

Cadangan Data Model

ColumnTypeKeterangan
id PKuuidID unik (auto-generate)
nametextNama penuh
emailtextAlamat emel
phonetextNombor telefon
companytextSyarikat / organisasi
positiontextJawatan
tagstext[]Tag (array, contoh: {'VIP','Client','Friend'})
created_attimestampTarikh tambah (auto)

Senarai Fitur

  • Grid/Lihat senarai contact
  • Search — cari ikut nama, emel, atau syarikat
  • Filter ikut tag atau syarikat
  • Tambah contact baru (form lengkap)
  • Edit contact (inline atau modal)
  • Delete contact dengan confirmation
  • Card ringkasan: Total Contacts, Companies, Tags
  • Pie chart — pecahan contact mengikut syarikat
  • Klik contact untuk lihat detail penuh (modal)
  • Import contact dari CSV
  • Favourite / starred contacts
  • Real-time updates

Gambaran UI

Sidebar dengan Dashboard, Contacts, Analytics, Settings. Halaman utama: card statistik di atas (Total Contacts, Companies, Tags Popular). Di bawah: grid contact cards (avatar bulat, nama, syarikat, emel) atau table view (boleh toggle). Search bar sentiasa di atas. Butang "Tambah Contact" terapung di kanan bawah.

Contoh Prompt

"Bina Contact Manager dashboard dengan: - Sidebar (Dashboard, Contacts, Analytics) - Card stats: Total Contacts, Total Companies - Grid contact cards (avatar, nama, emel, syarikat) - Search bar (filter nama/emel/syarikat) - Modal untuk tambah/edit contact - Pie chart: contacts per company - Dark theme"
C
💡

Idea Board

Post idea, undi (vote), dan komen. Papan idea interaktif untuk sesi brainstorming pasukan.

Penerangan

Platform untuk mengumpul dan mengurus idea. Pengguna boleh menghantar idea baru, mengundi idea yang sedia ada (upvote/downvote), dan meninggalkan komen. Sesuai untuk pasukan yang ingin melakukan brainstorming secara digital atau komuniti yang ingin mencadangkan penambahbaikan.

Cadangan Data Model

TableColumnTypeKeterangan
ideas id PKuuidID unik
titletextTajuk idea
descriptiontextPenerangan penuh
votesintegerJumlah undian (default 0)
authortextNama pencipta idea
created_attimestampTarikh hantar
comments id PKuuidID unik
idea_id FKuuidRujuk ideas.id
contenttextKandungan komen
created_attimestampTarikh komen

Senarai Fitur

  • Paparan semua idea dalam card grid (susun ikut votes tertinggi)
  • Hantar idea baru (title + description + author)
  • Upvote / downvote idea
  • Lihat komen untuk setiap idea
  • Tambah komen pada idea
  • Search idea ikut tajuk
  • Card ringkasan: Total Ideas, Total Votes, Top Idea
  • Filter ikut populariti (votes) atau terbaru (date)
  • Bar chart — top 5 ideas with most votes
  • Line chart — ideas submitted over time
  • Kategori / tag untuk ideas
  • Real-time — idea baru muncul automatik

Gambaran UI

Sidebar dengan Dashboard, Ideas Board, Analytics. Halaman utama: card statistik (Total Ideas, Top Idea, Total Votes). Di bawah: grid idea cards — setiap card ada tajuk, description ringkas, vote buttons (▲/▼), jumlah votes, dan komen count. Bila klik idea, buka modal dengan detail penuh dan komen. Butang "Cadang Idea" di atas.

Contoh Prompt

"Bina Idea Board dashboard dengan: - Sidebar (Dashboard, Ideas, Analytics) - Card stats: Total Ideas, Top Idea, Total Votes - Grid idea cards dengan vote buttons (upvote/downvote) - Modal untuk hantar idea baru - Komen section untuk setiap idea - Search ideas - Sort by votes / newest - Bar chart: top 5 ideas - Dark theme"
D
💼

Expense Tracker

Log perbelanjaan, kategori, jumlah, dan tarikh. Dashboard kewangan dengan analisis perbelanjaan.

Penerangan

Sistem untuk menjejak perbelanjaan harian. Pengguna boleh log setiap perbelanjaan, mengkategorikannya, melihat jumlah perbelanjaan mengikut kategori dan masa, serta menganalisis tabiat berbelanja. Sesuai untuk pengurusan kewangan peribadi atau pembelajaran analisis data.

Cadangan Data Model

ColumnTypeKeterangan
id PKuuidID unik (auto-generate)
descriptiontextPenerangan perbelanjaan
amountdecimal(10,2)Jumlah wang
categorytextKategori (Makanan, Pengangkutan, Hiburan, dll)
datedateTarikh perbelanjaan
payment_methodtextTunai / Kad Kredit / Online Banking
notestextNota tambahan (optional)
created_attimestampTarikh log (auto)

Senarai Fitur

  • Table senarai semua perbelanjaan (paling baru di atas)
  • Tambah expense baru (form: description, amount, category, date)
  • Edit / delete expense
  • Filter ikut kategori dan date range
  • Search description
  • Bar chart — jumlah perbelanjaan ikut kategori
  • Line chart — trend perbelanjaan bulanan
  • Pie chart — pecahan perbelanjaan ikut kategori
  • Card ringkasan: Total Spending, Bulan Ini, Kategori Tertinggi, Purata Harian
  • Date range picker untuk filter
  • Export laporan ke PDF/CSV
  • Budget limit per kategori (dengan alert bila exceeded)
  • Real-time updates

Gambaran UI

Sidebar dengan Dashboard, Expenses, Charts, Settings. Halaman utama: 4 card ringkasan di baris atas (Total Spending, Spending Bulan Ini, Kategori Tertinggi, Purata/Harian). Di bawah: bar chart (kiri) dan pie chart (kanan) sebelah-menyebelah. Line chart di bawahnya untuk trend bulanan. Table expenses di bawah sekali dengan search, filter kategori, dan date range picker. Butang "Tambah Expense" terapung.

Contoh Prompt

"Bina Expense Tracker dashboard dengan: - Sidebar (Dashboard, Expenses, Charts) - 4 cards: Total, Bulan Ini, Tertinggi, Purata - Bar chart: spending per category - Line chart: monthly trend - Pie chart: category breakdown - Table expenses dengan search & filter - Dark theme, responsive"

Mix & Match / Custom Dashboard

Tak puas hati dengan 4 pilihan di atas? Anda boleh:

Yang penting: kena ada minimum 1 table di Supabase, search/filter, 1 chart, dan responsive design. Selebihnya, kreativiti anda!

📝

Minimum Viable Product (MVP) Checklist

Ini adalah keperluan minimum yang mesti ada dalam dashboard anda. Semua pelajar mesti capai tahap ini.

  • Satu halaman HTML/CSS/JS yang berfungsi (atau multi-page dengan navigasi)
  • Dark theme konsisten (guna palet dari modul ini)
  • Sambungan ke Supabase — fetch data dari sekurang-kurangnya 1 table
  • Paparan data (table, cards, atau grid)
  • Search bar — cari data berdasarkan teks
  • Satu chart (bar, line, atau pie) menggunakan data dari Supabase
  • Responsive — nampak ok di desktop dan mobile
  • Tiada console errors
  • Loading state semasa fetch data
  • Error handling kalau data gagal di-load
  • Sidebar navigation minima 3 menu items
  • Card ringkasan minima 2 cards dengan data dinamik
🌟

Stretch Goals (Kalau Ada Masa Lebih)

Sudah siap MVP? Cuba cabaran tambahan ini untuk dashboard yang lebih hebat.

  • User Authentication — login/signup dengan Supabase Auth, roles admin vs user
  • Real-Time Updates — data berubah automatik tanpa refresh guna Supabase Realtime
  • Multi-Table — guna 2+ table dengan relationship (foreign key)
  • Data Export — muat turun data sebagai CSV atau PDF
  • Advanced Charts — 3+ jenis chart, animated, interactive (tooltip, click)
  • Dark/Light Mode Toggle — suis untuk tukar tema
  • Data Pagination — untuk table dengan banyak data
  • Animations — transition, loading spinners, page transitions
  • Notifications — toast messages untuk success/error actions
  • Drag & Drop — susun semula cards atau items
  • Print-Friendly — dashboard boleh dicetak dengan