ТЕХНИЧЕСКИЙ28 марта 202610 мин

Supabase + AI: база данных и авторизация за 30 минут

Как использовать Supabase вместе с AI-ассистентом для быстрого создания бэкенда: таблицы, RLS-политики, авторизация, хранилище и realtime-подписки.

Что такое Supabase и почему он идеален для AI-разработки

Supabase — это open-source альтернатива Firebase, построенная поверх PostgreSQL. Вместо проприетарной NoSQL-базы вы получаете полноценный PostgreSQL с REST API, авторизацией, хранилищем файлов, realtime-подписками и Edge Functions — всё в одном сервисе. Бесплатный тир включает 500 МБ базы данных, 1 ГБ хранилища и 50 000 запросов в месяц.

Для AI-разработки Supabase особенно удобен по трём причинам. Первая — декларативная настройка через SQL: AI-ассистент может создавать таблицы, индексы и политики безопасности простыми SQL-командами. Вторая — автоматический REST и GraphQL API: как только таблица создана, для неё уже есть API-эндпоинты. Третья — клиентская библиотека supabase-js с отличной TypeScript-типизацией, которую AI генерирует безошибочно.

PostgreSQL
БАЗА ДАННЫХ
Auth
АВТОРИЗАЦИЯ
Storage
ФАЙЛЫ
Realtime
ВЕБСОКЕТЫ

Быстрый старт: создание проекта

Зайдите на supabase.com и создайте новый проект. Выберите регион ближе к вашей аудитории — для Казахстана оптимально Singapore или Frankfurt. Запишите URL проекта и anon key — они понадобятся для подключения клиента. Эти данные хранятся в .env.local вашего проекта и никогда не коммитятся в git.

Установка клиента

Попросите Claude Code установить @supabase/supabase-js и создать файл lib/supabase.ts с инициализацией клиента. Для Server Components используйте createServerClient из @supabase/ssr — он работает с cookies для авторизации. Для клиентских компонентов — createBrowserClient. Claude Code знает эту разницу и создаст правильные хелперы.

Supabase предоставляет два ключа: anon key (публичный, для клиента) и service_role key (приватный, только для сервера). Никогда не используйте service_role key в клиентском коде — он обходит все RLS-политики и даёт полный доступ к базе.

Создание таблиц через AI

Вместо ручного кликанья в Dashboard, попросите Claude Code написать SQL-миграции. Опишите бизнес-логику: "Нужна таблица пользовательских профилей, связанная с auth.users. Таблица проектов с владельцем. Таблица задач внутри проекта с приоритетом и статусом." Claude Code сгенерирует SQL с правильными типами, внешними ключами и индексами.

Пример структуры для таск-менеджера

AI создаст таблицу profiles с полями id (ссылка на auth.users), full_name, avatar_url, created_at. Таблицу projects с id, title, description, owner_id, created_at. Таблицу tasks с id, project_id, title, description, status (enum: todo, in_progress, done), priority (enum: low, medium, high), assignee_id, due_date, created_at. Плюс необходимые индексы на часто фильтруемые поля.

Выполните SQL прямо в Supabase SQL Editor или через CLI supabase db push. Claude Code может подключиться к Supabase через MCP-сервер и выполнять SQL-запросы напрямую — без переключения между инструментами.

RLS-политики: безопасность на уровне строк

Row Level Security — это киллер-фича PostgreSQL, которую Supabase делает доступной из коробки. RLS позволяет задать правила: какие строки может видеть и изменять конкретный пользователь. Без RLS любой пользователь с anon key может прочитать все данные — это очевидная дыра в безопасности.

Базовые политики

Попросите Claude Code написать RLS-политики для всех таблиц. Он создаст SQL с ALTER TABLE ... ENABLE ROW LEVEL SECURITY и CREATE POLICY для каждой операции. Протестируйте через Supabase Dashboard — переключитесь на anon role и убедитесь, что без авторизации данные недоступны.

Частая ошибка: включить RLS, но забыть создать политики. В этом случае никто не сможет ничего прочитать — даже авторизованные пользователи. Всегда создавайте политики сразу после включения RLS.

Авторизация за 5 минут

Supabase Auth поддерживает email/password, magic link, OAuth (Google, GitHub, Apple, Discord и другие), phone OTP. Для MVP достаточно email/password. Попросите Claude Code создать страницы входа и регистрации с вызовами supabase.auth.signUp() и supabase.auth.signInWithPassword(). Supabase сам отправит email подтверждения, управляет сессиями и рефреш-токенами.

OAuth-провайдеры

Для Google OAuth: создайте проект в Google Cloud Console, настройте OAuth Consent Screen, создайте credentials и добавьте client_id/secret в Supabase Dashboard в разделе Authentication → Providers. После этого supabase.auth.signInWithOAuth вызов на клиенте автоматически перенаправит пользователя на Google и вернёт обратно с авторизацией.

Claude Code может пошагово провести вас через настройку каждого провайдера. Просто скажите: "Настрой Google авторизацию для Supabase" — и получите инструкцию с кодом и конфигурацией.

Storage: хранение файлов

Supabase Storage — это S3-совместимое хранилище для файлов. Создайте бакет через Dashboard или SQL. Бакеты бывают публичные (аватарки, картинки) и приватные (документы, отчёты). Для каждого бакета настраиваются RLS-политики — точно так же, как для таблиц.

Realtime: живые обновления

Supabase Realtime позволяет подписаться на изменения в таблицах через WebSocket. Когда другой пользователь создаёт задачу или меняет статус — ваш интерфейс обновляется мгновенно, без перезагрузки и polling. Это особенно ценно для совместной работы: таск-борды, чаты, документы.

Подписка на изменения

Попросите Claude Code создать хук useRealtimeTasks, который подписывается на таблицу tasks и обновляет состояние при INSERT, UPDATE, DELETE. Код использует supabase.channel("tasks").on("postgres_changes", ...).subscribe(). При размонтировании компонента подписка автоматически отключается — Claude Code знает про cleanup в useEffect.

Realtime подписки проходят через RLS. Пользователь получит уведомления только о тех строках, которые он имеет право видеть по политикам. Это безопасность из коробки.

Подключение через AI-промпты

Самое мощное — использование MCP-сервера для Supabase. Подключив его к Claude Code, вы можете управлять базой данных голосом: "Создай таблицу orders с полями...", "Добавь RLS-политику для таблицы...", "Покажи последние 10 записей из...". AI выполняет SQL напрямую и показывает результаты в терминале.

Для разработки это означает нулевое переключение контекста. Вы работаете с кодом, и когда нужно изменить схему — просто говорите Claude Code. Он создаст миграцию, обновит типы, поправит код, который зависит от изменённых полей. Один промпт — и всё синхронизировано.

Типовая архитектура Supabase-приложения

Итоговая архитектура выглядит так: Next.js фронтенд общается с Supabase через supabase-js. Авторизация через Supabase Auth, данные в PostgreSQL с RLS, файлы в Storage, живые обновления через Realtime. Edge Functions (Deno) для серверной логики, которая не помещается в Next.js API Routes — например, вебхуки платёжных систем или обработка очередей.

30
МИНУТ НА НАСТРОЙКУ
0
СТРОК БЭКЕНДА
МАСШТАБ
Free
СТАРТ

Supabase + AI — это самый быстрый путь от идеи до работающего приложения с продакшен-уровнем безопасности. Вместо недели настройки бэкенда вы тратите 30 минут — и получаете базу данных с API, авторизацией, файловым хранилищем и realtime-подписками. AI-ассистент делает этот путь ещё быстрее, генерируя SQL, код клиента и RLS-политики из описания бизнес-логики на естественном языке.

// ЧИТАЙТЕ ТАКЖЕ
ГАЙДПромпт-инженерия для разработки
12 мин
ГАЙДTelegram-бот с Claude AI
10 мин
СРАВНЕНИЕVibe Coding vs Традиционное программирование
8 мин
Все статьи →
// КОГОРТА BRIQ.TEAM

Хочешь научиться создавать такое сам?

Когорта из 10 человек. 8 недель. 6 рабочих продуктов с AI. Менторство каждую неделю.

250 000 ₸
÷ Рассрочка от 20 833 ₸/мес
ИЛИ
НАПИСАТЬ В WHATSAPP