Technical Deep Dives
Code, kiến trúc và chi tiết triển khai
11 bài viết
Tổng quan Supabase
Supabase là BaaS mở nguồn trên PostgreSQL. Bài này giới thiệu các thành phần: database, auth, API, storage, Realtime; vị trí trong stack và khi nào chọn Supabase.
Project setup, CLI và biến môi trường
Tạo project Supabase, cài CLI, cấu trúc thư mục; quản lý biến env (URL, anon key, service role key) an toàn. Cấu hình theo môi trường, secret không commit.
Thiết kế schema Postgres và bảng
Nguyên tắc thiết kế bảng: đặt tên, UUID vs serial, quan hệ; ví dụ schema conversations, messages. Chuẩn bị cho RLS và PostgREST.
Migrations: viết và áp dụng
Viết migration SQL, thư mục và quy ước; áp dụng qua CLI hoặc Studio; rollback cơ bản. Schema versioned, reproducible.
Auth: JWT, session và tích hợp backend
Supabase Auth, JWT; verify JWT ở backend (NestJS, Express, FastAPI). Session và refresh. Secret chỉ server-side.
Prisma + Supabase: kết nối và đồng bộ schema
Cấu hình Prisma trỏ Supabase; introspect vs migrate; tránh xung đột với Supabase migrations. Một nguồn sự thật schema.
Row Level Security (RLS) và policy
RLS là gì; bật RLS, viết policy SELECT/INSERT/UPDATE/DELETE; test. Bảo mật mặc định, least privilege.
API: PostgREST, custom API và khi nào dùng gì
PostgREST auto API; khi nào dùng custom API (backend riêng). REST contract rõ ràng; tách biệt consumer và data.
Realtime và Edge Functions
Realtime subscriptions; Edge Functions (webhook). Khi nào dùng; ranh giới serverless, event-driven.
Deploy, CI/CD và multi-project
Deploy migration an toàn; CI/CD (secret, branch); nhiều project dev/staging/prod; bảo mật key; checklist deploy.
Chuỗi bài: Supabase từ setup đến deploy
Giới thiệu chuỗi 10 bài Supabase (BaaS trên Postgres): tổng quan, setup, schema, migrations, auth, Prisma, RLS, API, Realtime/Edge, deploy.