Làm quen với Supabase
https://supabase.com/ là gì?
Ta sẽ đến với định nghĩa từ docs:
\>Supabase is a hosted platform which makes it very simple to get started without needing to manage any infrastructure.
Nó là 1 nền tảng lưu trữ, đơn giản hóa các công việc của developer, developer không cần quan tâm tới phần infra mà sẽ tập chung tối đa thời gian vào logic sản phẩm.
Tất nhiên nó có ưu và nhược điểm, nhưng đối với các startup luôn cần tối ưu hóa thời gian thì có thể đây là lựa chọn phù hợp.
Các tính năng chính:
A dedicated Postgres database
Để ý rằng nếu như bạn muốn dùng MySQL hay NoSQL thì đây không phải lựa chọn cho bạn, vì Supabase chú trọng vào Postgres database.
Supabase Auth service giúp tiết kiệm thời gian ra sao?
Hỗ trợ nhiều bên cung cấp thứ 3 để giúp user login nhanh chóng như Google, Facebook...
Hỗ trợ Email Templates giúp Auth thông qua Email dễ dàng hơn.
Share Database dễ dàng với Team thông qua URL vì trong quá dình develop, ta có thể dùng remote DB thay vì chạy DB trên local.
\>Policies are PostgreSQL's rule engine
Không cần check như sau mỗi lần có request tới nữa:
const loggedInUserId = 'd0714948'
const { data, error } = await supabase
.from('users')
.select('user_id, name')
.eq('user_id', loggedInUserId)
// console.log(data)
// => { id: 'd0714948', name: 'Jane' }
Đơn giản chỉ cần định nghĩa rule trong tables: auth.uid() = user_id
thì công việc check quyền hạn mỗi user sẽ được đẩy về phía DB.
Giá cả phù hợp startup
Vì gói Free của Supabase đủ dùng cho 1 khởi đầu đơn giản. Thông tin thêm tại https://supabase.com/pricing.
Auth service không giới hạn số lượng user:
Supabase là dự án hoàn toàn Opensource
Do vậy nên cộng đồng hỗ trợ đông đảo.