Разработка внутреннего инструмента на Baserow (no-code база данных)
Baserow — open-source no-code база данных с интерфейсом, похожим на Airtable. Команды используют Baserow для ведения данных без SQL-знаний: CRM-таблицы, контент-планы, реестры задач, базы поставщиков.
Чем Baserow отличается от Airtable
| Baserow | Airtable | |
|---|---|---|
| Self-hosted | Да | Нет |
| Open-source | MIT | Нет |
| API | REST + webhooks | REST |
| Цена | Бесплатно self-hosted | От $20/мес |
| Интеграции | Через API/Zapier | Встроенные |
Установка
# Самый быстрый способ
docker run -v baserow_data:/baserow/data \
-p 80:80 -p 443:443 \
baserow/baserow:1.25.0
Структура данных
Baserow — это spreadsheet-like интерфейс поверх PostgreSQL. Каждая «база» — это набор таблиц, каждая таблица — набор строк с типизированными колонками.
Типы полей: Text, Long Text, Number, Rating, Boolean, Date, URL, Email, Phone, File, Single Select, Multiple Select, Link to Table (foreign key), Formula, Lookup, Count, Rollup.
REST API
Baserow предоставляет полноценный REST API:
# Получить строки таблицы
curl -X GET \
"https://baserow.example.com/api/database/rows/table/TABLE_ID/?user_field_names=true" \
-H "Authorization: Token YOUR_API_TOKEN"
# Создать строку
curl -X POST \
"https://baserow.example.com/api/database/rows/table/TABLE_ID/?user_field_names=true" \
-H "Authorization: Token YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"Name": "Иван Петров", "Status": "Новый", "Email": "[email protected]"}'
# Фильтрация
curl "https://baserow.example.com/api/database/rows/table/TABLE_ID/?filter__field_id__equal=active"
Webhooks
// Webhook при создании строки (для уведомлений)
{
"url": "https://your-api.com/webhook/baserow",
"events": ["rows.created", "rows.updated"],
"headers": [
{ "name": "X-Webhook-Token", "value": "secret-token" }
]
}
// Обработчик webhook на вашем сервере
app.post('/webhook/baserow', (req, res) => {
const { event_type, row_id, values } = req.body;
if (event_type === 'rows.created') {
// Новый лид — создать задачу в CRM
crmService.createLead({
name: values['Name'],
email: values['Email'],
source: 'Baserow'
});
}
res.sendStatus(200);
});
Типичные use cases
- CRM для малого бизнеса — таблица контактов, связанная с таблицей сделок
- Контент-план — редакционный календарь с полями: статья, автор, статус, дата публикации
- Реестр поставщиков — база данных с документами, контактами и историей заказов
- Bug tracker — таблица задач с фильтрами по спринту, статусу, исполнителю
Сроки
Настройка базы с 3–5 таблицами и связями + интеграция через API — 1–3 дня.







