Разработка внутреннего инструмента на Budibase
Budibase — open-source low-code платформа с акцентом на автоматизацию и встроенную БД. В отличие от Retool и Appsmith, Budibase имеет встроенную реляционную базу данных (BudibaseDB), что позволяет создавать инструменты без настройки внешней СУБД.
Ключевые особенности
- BudibaseDB — встроенная СУБД на базе CouchDB, подходит для простых данных
- Automations — встроенный движок автоматизации (триггеры + actions)
- Self-hosted — Docker, Kubernetes, DigitalOcean App Platform
- Multi-player — несколько пользователей работают одновременно
- Поддержка внешних БД: PostgreSQL, MySQL, MongoDB, REST API
Установка
# Docker
docker run --rm --pull always \
-v budibase:/home/user \
-p 10000:10000 \
budibase/budibase:latest
Подключение PostgreSQL
Budibase → Data → Add Source → PostgreSQL:
Connection string: postgresql://user:password@host:5432/dbname
После подключения Budibase показывает все таблицы и позволяет создавать интерфейсы через кнопку «Auto-screens» — автоматически генерирует CRUD-страницы для выбранной таблицы.
Automations
Встроенный workflow-движок:
Trigger: Row Created (в таблице support_tickets)
│
├─► Filter: priority == 'high'
│
├─► Query Rows (найти менеджера из таблицы managers)
│
├─► Send Email (через SMTP или SendGrid)
│ To: {{ manager.email }}
│ Subject: Новый срочный тикет #{{ ticket.id }}
│
└─► Update Row (ticket.assigned_to = manager.id)
// Code step в Automation
const ticket = inputs.ticket;
const priority = ticket.priority;
// Определяем SLA в зависимости от приоритета
const slaHours = { critical: 1, high: 4, medium: 24, low: 72 };
const deadline = new Date();
deadline.setHours(deadline.getHours() + (slaHours[priority] || 72));
return {
sla_deadline: deadline.toISOString(),
sla_hours: slaHours[priority]
};
Пример: портал обработки заявок
- Таблица заявок с автогенерированным CRUD-интерфейсом
- Форма подачи для внешних пользователей (публичная ссылка)
- Automation: при новой заявке → email менеджеру + назначение SLA
- Канбан-доска для отслеживания статусов
Весь цикл — 2–3 дня.
Ограничения
Budibase менее гибок в кастомном JavaScript, чем Retool. Для сложных трансформаций данных и нестандартных UI-паттернов лучше подходят другие инструменты.
Сроки
Простое CRUD-приложение с automations — 1–3 дня. Многостраничный инструмент с внешней БД и ролями — 1–2 недели.







