패스트캠퍼스 데브캠프
토이 3 프로젝트 작성한 코드 복기 (5) - supabase 관련 설정 및 사용법
vitamin3000
2025. 1. 19. 21:39
이번 시간에는 프로젝트에서 사용한 baas인 supabase에 대한 설정과 사용 방법이다.
1. supabase 설치
npm install @supabase/supabase-js
2. src/api/supabase.ts
supabase 관련 Key를 .env 파일로 관리하였기에 다음의 파일을 만들어 객체로 만들었다.
import { createClient } from '@supabase/supabase-js';
const supabaseUrl = import.meta.env.VITE_SUPABASE_URL as string;
const supabaseKey = import.meta.env.VITE_SUPABASE_ANON_KEY as string;
const supabase = createClient(supabaseUrl, supabaseKey);
export { supabase };
3. categories 테이블에 접근하기
우선 supabase 웹페이지에서 해당 프로젝트에 접근하여 table이 만들어져있어야 한다.
4. 그다음 아래의 예시 코드 같이 값을 조회할 수 있다.
// 특정 사용자 북마크 카테고리 조회
export async function fetchCategories(userId: string) {
const { data, error } = await supabase
.from('categories')
.select('*')
.eq('user_id', userId)
.order('updated_at', { ascending: false });
if (error) throw error;
return data || [];
}
여기서 userId와 같이 key로 하는 값을 매개변수로 받아 사용할 수 있다.
또, .order 옵션을 사용하여 어떤 열의 값으로 오름차순 또는 내림차순으로 정렬할 수 있다.
* ascending: false일 경우 내림차순으로 정렬된다
이렇게 CRUD 기능을 함수로 만들 수 있다.