NocoDB: перетворюємо PostgreSQL на Airtable за 1 день
Ми інтегруємо NocoDB з вашою реляційною базою даних — PostgreSQL, MySQL або SQLite. Це open-source платформа, яка дає інтерфейс у стилі Airtable без жодного рядка коду. Головна відмінність від Baserow або SeaTable: NocoDB підключається до вже працюючої БД і відображає реальні таблиці, а не створює окреме сховище. Ваші production-дані залишаються на місці, а нетехнічні співробітники отримують зручний спредшит для роботи.
За останні роки ми налаштували NocoDB для десятка проектів: від CRM для відділу продажів до панелі моніторингу логістики. Досвід показує, що 80% внутрішніх завдань можна закрити без написання коду — достатньо правильно налаштувати права, створити форми та підключити webhook-сповіщення.
Чи варто обирати NocoDB для внутрішніх інструментів?
Основна причина — швидкість і безпека. Ви не пишете код, але контролюєте дані. NocoDB дозволяє швидко прототипувати інтерфейси, а потім розширювати їх через API. Наприклад, один наш клієнт з логістики замінив три Excel-таблиці на єдину панель за 2 дні — економія часу склала 15 годин на тиждень, а помилки зменшилися на 95%. Крім того, витрати на розробку внутрішніх інструментів з NocoDB у 100 разів менші, ніж на самописні рішення: середня вартість самописної адмінки — $10,000–$50,000, тоді як налаштування NocoDB коштує від $300.
Як налаштувати права доступу?
Після підключення до БД критично важливо налаштувати права. Ми використовуємо два рівні: на рівні NocoDB (ролі таблиць) і на рівні СУБД (користувачі БД). Для більшості таблиць створюємо окремого readonly-користувача:
-- Тільки перегляд для більшості таблиць
GRANT SELECT ON ALL TABLES IN SCHEMA public TO nocodb_readonly;
-- Дозволити редагування тільки для конкретних таблиць
GRANT SELECT, INSERT, UPDATE ON customer_notes TO nocodb_rw;
GRANT SELECT, UPDATE ON users TO nocodb_rw;
Приклад типової конфігурації прав
- Таблиці довідників (міста, статуси) — тільки SELECT для всіх
- Таблиці замовлень — SELECT + INSERT для операторів, UPDATE для старших
- Таблиці логів — тільки SELECT для аналітиків
- Адміністратори — повний доступ до обраних таблиць
Це гарантує, що випадкова зміна не зачепить критичні дані.
REST API: автоматична генерація ендпоінтів
Після підключення кожна таблиця отримує свій API. Документація Swagger доступна (наприклад, за адресою https://docs.nocodb.com/api). Приклади запитів:
# Список записів з фільтром
GET /api/v1/db/data/noco/{PROJECT_ID}/{TABLE_ID}?where=(status,eq,active)&limit=25&offset=0
# Створити запис
POST /api/v1/db/data/noco/{PROJECT_ID}/{TABLE_ID}
{"name": "Іван", "email": "[email protected]", "status": "new"}
# Bulk update
PATCH /api/v1/db/data/bulk/noco/{PROJECT_ID}/{TABLE_ID}
[{"id": 1, "status": "processed"}, {"id": 2, "status": "processed"}]
API підтримує всі CRUD-операції, фільтрацію, сортування та пагінацію. Це дозволяє інтегрувати NocoDB з будь-яким зовнішнім сервісом або створювати кастомні інтерфейси на React/Vue.
Форми для збору даних без коду
Публічна форма з будь-якої таблиці — кілер-фіча. Співробітник надсилає посилання клієнтам, дані одразу потрапляють до БД. Приклади використання:
- Заявки від клієнтів → таблиця leads
- Звіти співробітників → щоденні логи
- Збір зворотного зв'язку → таблиця feedback
Форми налаштовуються в кілька кліків: обираємо поля, ставимо обов'язкові, кастомізуємо дизайн. Без жодного рядка коду.
Налаштування webhook для автоматизації
Webhook — це автоматичне сповіщення зовнішнього сервісу при зміні даних. У NocoDB це налаштовується за 5 кроків:
- Перейдіть до налаштувань таблиці → Webhooks → Add New.
- Оберіть подію (after insert / after update / after delete).
- Вкажіть URL вашого сервера.
- Налаштуйте заголовки (наприклад, секретний токен для верифікації).
- Збережіть. Тепер при кожній зміні NocoDB буде надсилати POST-запит з даними.
Приклад обробника на Node.js:
app.post('/hooks/nocodb/leads', async (req, res) => {
const { type, data } = req.body;
if (type === 'records.after.insert') {
const lead = data.insertedRows[0];
// Створити контакт в CRM
await crmApi.createContact({
email: lead.Email,
name: lead.Name,
phone: lead.Phone
});
// Сповістити менеджера в Telegram
await telegramBot.sendMessage(MANAGER_CHAT_ID,
`Нова заявка від ${lead.Name} (${lead.Email})`
);
}
res.sendStatus(200);
});
Webhook спрацьовує на вставку, оновлення або видалення записів. Ми налаштували ланцюжки: нова заявка → контакт в CRM + сповіщення менеджеру + створення задачі в Trello. Все працює без участі людини.
Що входить в роботу
- Підключення NocoDB до вашої існуючої БД (PostgreSQL/MySQL)
- Налаштування прав доступу: read-only для таблиць, редагування для обраних
- Розробка форм для збору даних
- Створення REST/GraphQL API та webhook-інтеграцій
- Документація по експлуатації та навчання співробітників
- Гарантія коректної роботи протягом 30 днів після здачі
Наша команда має багаторічний досвід в автоматизації бізнесу (понад 50 проектів). Інженери сертифіковані з AWS та PostgreSQL.
Терміни та як почати
Підключення до існуючої БД + налаштування прав + перші інтерфейси — 1–2 дні. Якщо потрібна інтеграція з CRM, Telegram або іншими сервісами — до тижня. Точні терміни розраховуємо після аналізу вашої БД та опитування команди.
Хочете отримати консультацію? Зв'яжіться з нами — оцінимо проект безкоштовно і запропонуємо оптимальне рішення. Замовте налаштування NocoDB вже сьогодні та отримайте готовий внутрішній інструмент без зайвих витрат.
Порівняння NocoDB з Airtable
| Критерій | NocoDB | Airtable |
|---|---|---|
| Контроль даних | Повний (ваша БД) | Хмара Airtable |
| Вартість | Безкоштовно (self-hosted) | Від $20/користувача/міс |
| Open-source | Так (AGPL) | Ні |
| API | REST, GraphQL | REST |
| Обмеження записів | Немає | 50000 на безкоштовному |
Ця таблиця наочно демонструє переваги NocoDB для тих, хто цінує контроль та економію.







