Архитектура Cold Start для Expo + Supabase
Описание промпта
Готовое решение для создания неблокирующего старта приложения с асинхронной генерацией контента через Supabase Edge Functions и Worker.
- Генерирует архитектурный план и код для асинхронной обработки тяжелых задач (AI) в мобильном приложении на Expo с использованием Supabase.
- Устраняет задержки при запуске приложения, обеспечивает отказоустойчивость и масштабируемость за счет разделения ответственности между Edge Functions и Worker.
- Разработчики React Native/Expo, Backend-инженеры, работающие с Supabase.
Скопируй prompt в AI-ассистента. Уточни детали реализации Worker (например, на Node.js или Python) при необходимости.
Знание SQL, TypeScript, принципов работы с Supabase Realtime и Edge Functions.
Полный набор SQL-миграций, код Edge Functions, структура клиента Expo и описание логики Worker.
Фокус на минимализме и производительности. Избегай добавления лишних зависимостей в Edge Functions.
Не включает настройку инфраструктуры Worker (например, AWS Lambda или Cloud Run), только логику.
Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama
Войти для копирования
Выступи в роли старшего архитектора Expo и Supabase. Твоя задача — спроектировать «cold-start safe» архитектуру, которая не блокирует запуск приложения. Используй стек: Expo (React Native), Supabase Postgres/Storage/Realtime, Supabase Edge Functions (только для легкой валидации и постановки задач в очередь) и отдельный Worker для тяжелой AI-генерации.
Тебе нужно предоставить:
1) SQL-миграции для таблиц: jobs, generations, entitlements (credits/is_paid). Включи индексы и заметки по RLS.
2) Edge Functions: ping (HEAD/GET), enqueue_generation (валидация auth, проверка баланса, создание job, возврат jobId), get_job_status. Держи импорты минимальными, без тяжелых SDK.
3) Поток клиента Expo: неблокирующий ping при старте, оптимистичный UI для кнопки генерации, подписка на обновления через Realtime (или polling), замена плейсхолдера в галерее.
4) Описание Worker: интерфейс, минимальная логика (fetch jobs, AI generation, upload, update status), политика retry и идемпотентность.
Ограничения:
- Не блокируй запуск приложения вызовами Edge.
- Не запускай AI внутри Edge Functions.
- При ошибке job должен создавать запись с исходными данными.
- Решение должно быть минималистичным, но готовым к продакшену.
Выведи результат структурировано:
A) Сводка архитектуры
B) SQL миграции
C) Структура Edge Functions + ключевой код
D) Интеграция Expo + ключевой код
E) Схема Worker + псевдокод
Поделитесь в социальных сетях
Комментарии
Войдите, чтобы комментировать.
Комментариев пока нет.