Розробка внутрішніх інструментів на Budibase
Budibase — платформа з відкритим кодом 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 тижні.







