Mở đầu
Dashboard admin là một trong những công cụ quan trọng giúp quản lý và theo dõi dữ liệu một cách trực quan. Trong khi Supabase cung cấp một nền tảng backend mạnh mẽ với database, authentication và real-time, Chart.js lại là thư viện JavaScript phổ biến để tạo ra các biểu đồ đẹp mắt. Kết hợp cả hai, bạn có thể xây dựng một dashboard admin hoàn chỉnh, tương tác và dễ dàng mở rộng.
Bài viết này sẽ hướng dẫn bạn từng bước tạo dashboard admin với Supabase làm backend và Chart.js để hiển thị dữ liệu trực quan. Chúng ta sẽ đi qua việc thiết lập database, kết nối dữ liệu, và vẽ biểu đồ, giúp bạn có cái nhìn tổng quan về cách hoạt động của một dashboard hiện đại.
Chuẩn bị môi trường
Để bắt đầu, bạn cần có một tài khoản Supabase và một project mới. Sau khi đăng nhập vào Supabase dashboard, tạo một project và ghi lại URL và public anon key — chúng sẽ được dùng để kết nối từ frontend.
Tiếp theo, tạo một table trong Supabase để lưu trữ dữ liệu mẫu. Ví dụ, một table sales với các cột id, product_name, quantity, price, và sale_date. Bạn có thể thêm một vài dòng dữ liệu mẫu để test.
Về frontend, bạn có thể tạo một HTML file đơn giản và thêm các thư viện cần thiết: Chart.js (để vẽ biểu đồ) và supabase-js (để kết nối với Supabase). Bạn có thể load chúng qua CDN hoặc cài đặt qua npm nếu dùng framework như React hoặc Vue.
Thiết lập kết nối Supabase
Trong file HTML hoặc JavaScript của bạn, khởi tạo client Supabase bằng cách cung cấp URL và public anon key từ project bạn vừa tạo:
import { createClient } from '@supabase/supabase-js';
const supabaseUrl = 'your_project_url';
const supabaseAnonKey = 'your_anon_key';
const supabase = createClient(supabaseUrl, supabaseAnonKey);
Với client này, bạn có thể truy vấn dữ liệu từ Supabase. Ví dụ, để lấy tất cả các bản ghi từ table sales:
const { data, error } = await supabase
.from('sales')
.select('*');