Supabase는 파이어베이스의 오픈소스 대안입니다. 엔터프라이즈급 오픈 소스 도구를 사용하여 Firebase의 기능을 구축하고 있습니다.
전체 문서는 supabase.com/docs에서 확인하실 수 있습니다
기여 방법을 확인하려면 시작하기를 방문하세요
- 커뮤니티 포럼. 가장 적합한 대상: 구축에 대한 도움말, 데이터베이스 모범 사례에 대한 토론.
- 깃허브 이슈. 최상의 용도: Supabase 사용 중 발생하는 버그 및 오류.
- 이메일 지원. 최상의 대상: 데이터베이스 또는 인프라 문제.
- 디스코드. 최고의 용도: 애플리케이션 공유 및 커뮤니티와의 교류.
- 알파: 비공개 고객들을 대상으로 Supabase를 테스트 중입니다
- 공개 알파: 누구나 app.supabase.com에서 가입할 수 있습니다. 하지만 몇 가지 불편한 점이 있습니다
- 공개 베타: 대부분의 비기업용 사용 사례에 충분히 안정적입니다
- 공개: 일반 사용 가능 [상태]
현재 공개 베타 버전입니다. 주요 업데이트에 대한 알림을 받으려면 이 리포지토리의 "릴리즈"를 살펴보세요.
Supabase는 오픈 소스 도구의 조합입니다. 저희는 엔터프라이즈급 오픈 소스 제품을 사용하여 Firebase의 기능을 구축하고 있습니다. MIT, Apache 2 또는 이에 상응하는 오픈 라이선스가 있는 도구와 커뮤니티가 존재하는 경우, 해당 도구를 사용하고 지원합니다. 도구가 존재하지 않는 경우에는 직접 빌드하여 오픈소스로 제공합니다. Supabase는 Firebase를 1:1로 매핑하지 않습니다. 우리의 목표는 개발자에게 오픈 소스 도구를 사용하여 Firebase와 같은 개발자 환경을 제공하는 것입니다.
아키텍처
Supabase는 호스팅 플랫폼입니다. 가입만 하면 아무것도 설치하지 않고 Supabase를 사용할 수 있습니다. 자체 호스팅](https://supabase.com/docs/guides/hosting/overview) 및 로컬 개발도 가능합니다.
아키텍처](https://github.com/supabase/supabase/blob/master/apps/docs/public/img/supabase-architecture.png)
- PostgreSQL은 30년 이상 활발하게 개발되어 안정성, 기능 견고성 및 성능에 대한 높은 평판을 얻고 있는 객체 관계형 데이터베이스 시스템입니다.
- Realtime은 웹소켓을 사용하여 PostgreSQL 삽입, 업데이트, 삭제를 수신할 수 있는 Elixir 서버입니다. Realtime은 데이터베이스 변경 사항에 대해 Postgres의 기본 제공 복제 기능을 폴링하고, 변경 사항을 JSON으로 변환한 다음, 웹 소켓을 통해 승인된 클라이언트에 JSON을 브로드캐스트합니다.
- PostgREST는 PostgreSQL 데이터베이스를 RESTful API로 직접 전환하는 웹 서버입니다
- pg_graphql은 GraphQL API를 노출하는 PostgreSQL 확장입니다
- 스토리지 - Postgres를 사용하여 권한을 관리하기 위해 S3에 저장된 파일을 관리하기 위한 RESTful 인터페이스를 제공합니다.
- postgres-meta는 Postgres를 관리하기 위한 RESTful API로, 테이블 가져오기, 역할 추가, 쿼리 실행 등을 할 수 있습니다.
- GoTrue는 사용자를 관리하고 SWT 토큰을 발행하기 위한 SWT 기반 API입니다.
- 콩은 클라우드 네이티브 API 게이트웨이입니다.
클라이언트 라이브러리에 대한 접근 방식은 모듈식입니다. 각 하위 라이브러리는 단일 외부 시스템을 위한 독립형 구현입니다. 이는 기존 도구를 지원하는 방식 중 하나입니다.
언어 | 클라이언트 | 기능 클라이언트(Supabase 클라이언트에 번들로 제공) | ||||
---|---|---|---|---|---|---|
Supabase | PostgREST | GoTrue | Realtime | Storage | Functions | |
⚡️ 공식 ⚡️ | ||||||
JavaScript (TypeScript) | supabase-js | postgrest-js | gotrue-js | realtime-js | storage-js | functions-js |
Flutter | supabase-flutter | postgrest-dart | gotrue-dart | realtime-dart | storage-dart | functions-dart |
💚 커뮤니티 💚 | ||||||
C# | supabase-csharp | postgrest-csharp | gotrue-csharp | realtime-csharp | storage-csharp | functions-csharp |
Go | - | postgrest-go | gotrue-go | - | storage-go | functions-go |
Java | - | - | gotrue-java | - | storage-java | - |
Kotlin | supabase-kt | postgrest-kt | gotrue-kt | realtime-kt | storage-kt | functions-kt |
Python | supabase-py | postgrest-py | gotrue-py | realtime-py | storage-py | functions-py |
Ruby | supabase-rb | postgrest-rb | - | - | - | - |
Rust | - | postgrest-rs | - | - | - | - |
Swift | supabase-swift | postgrest-swift | gotrue-swift | realtime-swift | storage-swift | functions-swift |
Godot Engine (GDScript) | supabase-gdscript | postgrest-gdscript | gotrue-gdscript | realtime-gdscript | storage-gdscript | functions-gdscript |
- 아랍어 | 아랍어
- 알바니아어 / 쉬킵어
- 방글라데시어 / বাংলা
- 불가리아어 / Български
- 카탈루냐어 / 카탈루냐어
- 덴마크어 / Dansk
- 네덜란드어 / 네덜란드어
- 영어
- 핀란드어 / 수오말라이넨
- 프랑스어 / 프랑스어
- 독일어 / Deutsch
- 그리스어 / Ελληνικά
- 히브리어 / עברית
- 힌디어 / हिंदी
- 헝가리어 / 마자르어
- 네팔어 / नेपाली
- 인도네시아어 / 바하사 인도네시아
- 이탈리아어 / Italiano
- 일본어 / 日本語
- 한국어 / 한국어
- 말레이어 / 바하사 말레이시아
- 노르웨이어(복말) / 노르웨이어(복말)
- 페르시아어 / فارسی
- 폴란드어 / Polski
- 포르투갈어 / 포르투갈어
- 포르투갈어(브라질어) / 포르투갈어 브라질
- 루마니아어 / 루마니아어
- 러시아어 / Pусский
- 세르비아어 / Srpski
- 신할라어 / සිංහල
- 스페인어 / 에스파냐어
- 중국어 간체 / 简体中文
- 스웨덴어 / 스벤스카르어
- 태국어 / ไทย
- 중국어 번체 / 繁体中文
- 터키어 / Türkçe
- 우크라이나어 / Українська
- 베트남어 / Tiếng Việt
- 번역 목록