Об этом проекте
Supabase описывает себя как платформу разработки на Postgres, стремясь реализовать возможности Firebase с помощью корпоративных открытых инструментов. Репозиторий — это основной монорепозиторий проекта, включающий Dashboard, документацию и вспомогательные сервисы.
Основные возможности, перечисленные в README:
- Размещаемая база данных Postgres
- Аутентификация и авторизация
- Автоматически генерируемые API: REST, GraphQL и realtime-подписки
- Функции: функции базы данных и Edge Functions
- Файловое хранилище
- Набор инструментов AI + Vector/Embeddings
- Dashboard
В README поясняется, что Supabase не является однозначным отображением Firebase. Цель — дать разработчикам опыт разработки, похожий на Firebase, используя открытые инструменты. Там, где существует инструмент с лицензией MIT, Apache 2 или эквивалентной открытой лицензией, Supabase использует и поддерживает его; там, где инструмента нет, Supabase создаёт его и открывает исходный код.
Архитектура построена из нескольких открытых компонентов:
- Postgres как объектно-реляционная база данных
- Realtime: сервер на Elixir, который слушает вставки, обновления и удаления PostgreSQL через websockets
- PostgREST: веб-сервер, превращающий PostgreSQL в RESTful API
- GoTrue: API аутентификации на основе JWT для регистрации, входа и управления сессиями
- Storage: RESTful API для управления файлами в S3, при этом Postgres обрабатывает разрешения
- pg_graphql: расширение PostgreSQL, предоставляющее GraphQL API
- postgres-meta: RESTful API для управления Postgres, включая получение таблиц, добавление ролей и выполнение запросов
- Envoy: облачный edge- и сервисный прокси
Supabase доступен как размещаемая платформа, а также может быть развёрнут самостоятельно или использоваться локально для разработки.
Покрытие клиентских библиотек включает официальные библиотеки JavaScript/TypeScript, Flutter, Swift и Python, а также community-библиотеки для C#, Go, Java, Kotlin, Ruby, Rust и Godot Engine (GDScript). Каждая подбиблиотека — это отдельная реализация для одной внешней системы.
Упомянутые каналы сообщества и поддержки включают форум GitHub Discussions, GitHub Issues для сообщений об ошибках, поддержку по электронной почте для проблем с инфраструктурой и Discord для обмена приложениями и взаимодействия с сообществом. Репозиторий можно отслеживать, чтобы получать уведомления о крупных обновлениях.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.