
이 글은 2026년 03월 23일 작성된 글입니다.
오늘은 Next.js에서 Supabase를 연동하여 데이터 조회와 인증 기능을
구현하는 방법을 배웠다.
Supabase를 사용하면 별도의 백엔드 서버 없이 DB + 인증 기능을 빠르게
구현할 수 있다.
패키지 설치
npm install @supabase/supabase-js
.env.local
NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=sb_publishable_xxx
/lib/supabase.ts
import { createClient } from '@supabase/supabase-js'
export const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY!
)
const { data } = await supabase
.from('posts')
.select('*')
핵심 흐름
supabase.from('table').select() 데이터 조회특정 게시글 조회
const { data } = await supabase
.from('posts')
.select('*')
.eq('id', id)
.single()
댓글 조회
const { data } = await supabase
.from('comments')
.select('*')
.eq('post_id', id)
메서드 설명
.eq() 값 일치
.gt() 초과
.lt() 미만
.gte() 이상
.lte() 이하
.like() 패턴 검색
.ilike() 대소문자 무시
.in() 배열 포함
예시
supabase.from('posts').select('*').eq('id', 1)
await supabase.auth.signUp({
email,
password
})
로그인
await supabase.auth.signInWithPassword({
email,
password
})
로그아웃
await supabase.auth.signOut()
현재 사용자 조회
const { data: { user } } = await supabase.auth.getUser()
@supabase/supabase-js로 Next.js에서 쉽게 연동 가능.from().select() 방식으로 데이터 조회.eq, .like 등으로 SQL처럼 필터링supabase.auth로 회원가입 / 로그인 / 로그아웃 구현 가능Next.js와 Supabase를 함께 사용하면 간단한 CRUD 서비스나 개인 프로젝트를
빠르게 만들 수 있다.
수파베이스를 처음 접해봐서 사실 따라가기에 급급했던 수업인 거 같다.
반복해서 학습을 해야 할 필요성을 느꼈다.