Supabase API Key 생성하기
Supabase, 그래서 그게 뭔데?
Supabase를 한마디로 정의하자면, "오픈소스 Firebase 대체재"라고 할 수 있습니다. 좀 더 풀어서 설명해 드릴게요.
우리가 웹이나 앱 서비스를 만들려면 생각보다 많은 것들이 필요합니다. 예를 들어, 사용자 정보를 저장하고 관리할 데이터베이스, 사용자를 인증하는 기능, 파일 저장 공간 등이 대표적이죠. 예전에는 이런 기능들을 하나하나 직접 개발하거나 여러 서비스를 조합해서 사용해야 했습니다. 당연히 시간도 오래 걸리고 복잡했겠죠?
Firebase라는 서비스가 등장하면서 이런 불편함이 많이 해소되었습니다. Firebase는 구글에서 제공하는 백엔드 서비스 플랫폼(BaaS, Backend as a Service)인데요, 위에서 언급한 데이터베이스, 인증, 스토리지 등을 한 곳에서 쉽고 빠르게 구축할 수 있도록 도와줍니다. 개발자들은 복잡한 백엔드 인프라 구축에 드는 시간을 줄이고, 서비스의 핵심 기능 개발에 더 집중할 수 있게 되었죠.
하지만 Firebase는 구글이라는 특정 기업에 종속되어 있고, 일부 기능에 대해서는 비용 부담이 발생할 수 있다는 단점이 있었습니다. 바로 이 지점에서 Supabase가 멋지게 등장합니다!
Supabase의 매력 포인트, 자세히 살펴볼까요?
Supabase는 Firebase가 제공하는 편리한 기능들을 오픈소스로 구현하여 제공합니다. 즉, 특정 기업에 얽매이지 않고 자유롭게 사용할 수 있으며, 비용적인 측면에서도 더 유연한 선택지를 제공한다는 큰 장점이 있습니다.
Supabase가 제공하는 주요 기능들은 다음과 같습니다.
- PostgreSQL 데이터베이스: Supabase의 핵심은 강력하고 안정적인 오픈소스 관계형 데이터베이스인 PostgreSQL을 기반으로 한다는 점입니다. 이미 많은 개발자들에게 익숙하고 신뢰받는 데이터베이스죠. 실시간 기능까지 제공하여 데이터 변경 사항을 즉시 반영할 수 있습니다.
- 인증 (Authentication): 이메일/비밀번호, 소셜 로그인(구글, 깃허브 등), 휴대폰 인증 등 다양한 사용자 인증 방식을 손쉽게 구현할 수 있도록 도와줍니다.
- 스토리지 (Storage): 이미지, 동영상, 문서 등 다양한 파일을 안전하게 저장하고 관리할 수 있는 공간을 제공합니다.
- 엣지 펑션 (Edge Functions): 서버리스 함수를 통해 백엔드 로직을 실행할 수 있는 기능입니다. 전 세계에 분산된 서버에서 코드를 실행하여 사용자에게 더 빠른 응답 속도를 제공할 수 있습니다.
- 실시간 (Realtime): 웹소켓(WebSocket) 기술을 기반으로 클라이언트와 서버 간의 실시간 양방향 통신을 지원합니다. 채팅 기능이나 실시간 알림 등을 구현할 때 매우 유용합니다.
- 자동 생성 API (Auto-generated APIs): 데이터베이스 스키마를 기반으로 RESTful API와 GraphQL API를 자동으로 생성해 줍니다. 개발자가 직접 API를 설계하고 구현하는 수고를 덜어주죠.
Supabase, 그래서 누가 쓰면 좋을까?
- 빠르게 프로토타입을 만들고 싶은 스타트업이나 개인 개발자: 백엔드 구축 시간을 획기적으로 줄여 아이디어를 신속하게 검증하고 싶을 때 아주 유용합니다.
- Firebase의 대안을 찾고 있는 개발자: 오픈소스 기반의 유연성과 확장성을 원하거나, 특정 벤더에 종속되는 것을 피하고 싶을 때 좋은 선택이 될 수 있습니다.
- PostgreSQL을 선호하는 개발자: 이미 PostgreSQL에 익숙하거나, 관계형 데이터베이스의 강력한 기능을 활용하고 싶다면 Supabase가 매력적일 것입니다.
- 백엔드 개발 경험이 부족한 프론트엔드 개발자: 복잡한 백엔드 지식 없이도 필요한 기능을 쉽게 구현하고 서비스 개발에 집중할 수 있도록 도와줍니다.
이제 supabase를 사용하기 위한 API Key를 얻는 방법을 단계적으로 설명합니다.
단계 01 웹 브라우저를 열고 Supabase 공식 웹사이트(supabase.com)로 이동하여 회원가입 또는 로그인을 진행합니다. GitHub 계정 등으로 간편하게 시작할 수 있습니다. 로그인을 마치면, (특히 Supabase를 처음 사용하시는 경우) 다음 이미지와 같이 'Organization'을 먼저 생성하라는 화면이 나타날 수 있습니다. Organization은 여러 프로젝트를 묶어서 관리하는 단위라고 생각하시면 됩니다.
화면의 안내에 따라 다음 정보를 입력하거나 선택해주세요.
- Name: 조직의 이름을 입력합니다. 여러분의 이름이나 닉네임, 또는 프로젝트 성격을 나타내는 이름을 자유롭게 사용하세요 (예: My Org).
- Type: 조직의 유형을 선택합니다. 개인 프로젝트이므로 Personal
을 선택하는 것이 좋습니다.
- Plan / Pricing: 요금제를 선택합니다. 우리는 무료 플랜으로 충분하므로 Free - $0/month
를 선택합니다.
모든 정보를 입력하거나 선택했다면, [Create organization] 버튼을 클릭하여 조직 생성을 완료합니다. 조직 생성이 완료되면 이제 프로젝트를 만들 준비가 된 것입니다.
단계 02 로그인 후, 대시보드에서 [New project] 버튼을 클릭하여 새 프로젝트를 생성합니다. 프로젝트 이름, 데이터베이스 비밀번호, 서버 지역(Region) 등을 설정해야 하는데, 비밀번호는 잘 기억해두시고 지역은 가까운 곳(예: 서울)을 선택하면 됩니다.
프로젝트 생성이 완료되면, 잠시 기다린 후 해당 프로젝트의 대시보드로 이동합니다.
단계 03 왼쪽 메뉴에서 톱니바퀴 아이콘(Settings)을 클릭하고, 하위 메뉴에서 [Data API]를 선택합니다.
단계 04 API 설정 페이지에서 'Project URL'과 'Project API keys' 아래에 있는 anon
public
키를 찾습니다. 이 두 가지 정보가 우리 앱이 Supabase와 통신하는 데 필요합니다.
단계 05 찾은 'Project URL'과 'anon public' 키를 복사하여, 프로젝트의 .env.local
파일에 아래와 같이 추가하고 저장합니다.
# Supabase 설정 추가
NEXT_PUBLIC_SUPABASE_URL="여러분의_Supabase_Project_URL"
NEXT_PUBLIC_SUPABASE_ANON_KEY="여러분의_Supabase_anon_public_Key"
이 글에서 우리는 Supabase가 무엇인지, 어떤 매력적인 기능들을 가지고 있는지, 사용하기 위해 API Key는 어떻게 발급 받는지 알아보았습니다. Supabase는 Firebase의 편리함에 오픈소스의 자유로움과 강력한 PostgreSQL을 더한 멋진 도구라고 할 수 있습니다.
물론 Supabase가 모든 상황에 완벽한 정답은 아닐 수 있습니다. 프로젝트의 특성과 요구사항을 꼼꼼히 따져보고 가장 적합한 기술 스택을 선택하는 것이 중요하겠죠? 하지만 백엔드 개발의 복잡성을 줄이고 싶거나, Firebase의 대안을 찾고 계신다면 Supabase는 분명 매력적인 선택지가 될 것입니다.