publish: true
ADR-001: Supabase 선택
컨텍스트
빌도리팀은 사이드 프로젝트로 포도를 운영한다. 팀원 전원이 직장인으로 개발 리소스가 제한적이며, 별도 백엔드 서버를 직접 설계·구현·운영할 여력이 없다. 동시에 인증·데이터베이스·파일 스토리지·실시간 기능이 모두 필요했다.
결정
Supabase (PostgreSQL 기반 BaaS) 채택.
직접 백엔드 서버를 구현하는 대신, Backend-as-a-Service 방식으로 Supabase가 인증·DB·Storage·Realtime을 통합 제공하도록 아키텍처를 설계했다.
이유
- 개발 속도: 별도 서버 구현 없이 인증, DB, Storage, Realtime API를 즉시 사용 가능 — 제한된 팀 리소스에서 제품 개발에 집중 가능
- 확장성: PostgreSQL 기반이라 서비스 규모 확대 시 자체 DB로 마이그레이션 경로가 명확함
- API 자동화 파이프라인 연동: Supabase의 자동 생성 API + Zod 스키마 → OpenAPI 스펙 → Redoc 문서 자동 생성 파이프라인과 자연스럽게 통합
- ERD 관리: ERDCloud(https://www.erdcloud.com/d/ufeSkHAAPej96zwTB)로 PostgreSQL 스키마를 시각화·관리
결과
- ✅ 개발 속도 대폭 향상 — 인증, DB, 스토리지, 실시간 기능을 즉시 사용
- ✅ ERDCloud 연동으로 DB 스키마 시각화 관리
- ✅ Zod → OpenAPI → Redoc 파이프라인으로 API 문서 자동화
- ⚠️ Supabase 벤더 의존도 발생 — 향후 비용 또는 기능 이슈 시 마이그레이션 비용 존재
- ⚠️ Supabase 무료 플랜 한계 (프로젝트 규모 성장 시 과금 구조 검토 필요)