Фреймворк для создания Backend-Driven UI, который позволяет создавать динамические мобильные и веб-интерфейсы через серверные конфигурации. Создавайте, развертывайте и обновляйте UI-компоненты без релизов приложений.
Render Engine — это комплексное решение для Backend-Driven UI (BDUI), которое позволяет:
- 🎨 Определять UI-компоненты и макеты на стороне сервера
- 📱 Рендерить нативные iOS и Android интерфейсы динамически
- 🖥️ Управлять конфигурациями через административную панель
- 🚀 Развертывать обновления UI мгновенно без релизов в магазинах приложений
- ✅ Валидировать и тестировать конфигурации перед развертыванием
Это монорепозиторий, управляемый с помощью pnpm workspaces, содержащий следующие приложения и пакеты:
apps/admin- Веб-административная панель для управления UI-конфигурациями (React + Vite + TanStack Router)apps/admin-backend- Backend API для административной панели (TypeScript + Drizzle ORM)apps/render-ios-playground- iOS playground приложение для тестирования конфигураций (Swift)apps/render-android-playground- Android playground приложение для тестирования конфигураций (Kotlin)apps/render-cli- Инструмент командной строки для управления конфигурациями
packages/domain- Основные доменные модели и бизнес-логикаpackages/application- Сервисы приложения и use casespackages/infrastructure- Реализации инфраструктуры (база данных, внешние сервисы)packages/render-admin-sdk- SDK для интеграции с админ-панельюpackages/render-ios-sdk- Swift SDK для iOS приложенийpackages/eslint-config- Общая конфигурация ESLint
- Node.js 22+ и pnpm 10.17.1+
- iOS разработка: Xcode 15+ (для iOS playground)
- Android разработка: Android Studio (для Android playground)
- Клонируйте репозиторий:
git clone <repository-url>
cd render-engine- Установите зависимости:
pnpm installЗапустите все dev-серверы параллельно:
pnpm devИли запустите отдельные приложения:
# Административная панель
cd apps/admin
pnpm dev
# Backend админ-панели
cd apps/admin-backend
pnpm dev
# CLI инструмент
cd apps/render-cli
pnpm devВыполняйте эти команды из корневой директории:
pnpm dev- Запустить все dev-серверы параллельноpnpm build- Собрать все пакеты и приложенияpnpm test- Запустить все тесты во всех пакетахpnpm lint- Проверить все пакеты линтеромpnpm format- Отформатировать весь кодpnpm deploy- Собрать и развернуть все пакеты
- React + TypeScript
- Vite (инструмент сборки)
- TanStack Router (роутинг)
- ShadcnUI + TailwindCSS (UI-компоненты)
- Supabase Auth (аутентификация)
- TypeScript + Node.js
- Drizzle ORM (база данных)
- Swift Package Manager (iOS)
- Kotlin + Gradle (Android)
- pnpm workspaces (управление монорепозиторием)
- ESLint + Prettier (качество кода)
- Vitest (тестирование)
- Husky + lint-staged (git хуки)
Подробная документация доступна в директориях /docs и /specs:
- Дизайн-система - Спецификации дизайна компонентов
- Спецификации - Технические спецификации для доменных моделей и сервисов
- Документация iOS SDK - Руководство по использованию iOS SDK
- Документация Admin SDK - Руководство по использованию Admin SDK
Запустить тесты для всех пакетов:
pnpm testЗапустить тесты для конкретного пакета:
cd packages/domain
pnpm testPre-commit хуки автоматически:
- Отформатируют код с помощью Prettier
- Запустят проверки ESLint
- Валидируют commit-сообщения
Сделано с ❤️ для Backend-Driven UI