Beehive Logic

Платформа управління гуманітарними операціями — облік бенефіціарів, подій та активностей партнерів

| Full Stack · Go · PostgreSQL · HTMX · GPT-4 · Google Sheets

Огляд

Гуманітарна організація, що веде польові операції в кількох регіонах, звернулася до нас із робочим процесом, склеєним із таблиць. Польовий персонал, проєктні менеджери та центральний офіс вели власні файли; дані переносилися копіюванням між ними; підготовка донорських 5W-звітів займала дні. Клієнту потрібна була єдина внутрішня платформа, яка б могла:

  • Вести облік бенефіціарів та їхніх профілів вразливості
  • Реєструвати кожну подію та активність партнерів, прив’язану до конкретного проєкту
  • Забезпечити строгу рольову видимість (польовий персонал бачить лише дані своєї організації, HQ бачить усе)
  • Формувати 5W-звіти для донорів на запит
  • Синхронізувати живі дані в Google Sheets, щоб партнерські організації споживали їх без прямого доступу до бази
  • Дозволити нетехнічним менеджерам ставити запитання до даних природною мовою

Нами спроєктовано та реалізовано платформу від початку до кінця на Go.


Архітектура у двох словах

              ┌────────────────────────────────┐
   Браузер → │      Go HTTP server (HTMX)      │ ← часткові рендери, без JS-фреймворку
              └─────────────┬──────────────────┘
                            │
                Handler → Service → Repository → Cache
                            │
   ┌────────────┬───────────┼───────────┬────────────┬──────────────┐
   ▼            ▼           ▼           ▼            ▼              ▼
  RBAC         5W         GPT-4      Google      WebSocket        Audit
 (4 ролі)    звіти     SQL-асистент   Sheets        Hub             Log
                                    Auto-Import
                            │
                  PostgreSQL (sqlx) · Redis (сесії, кеш)

Довідкові дані гарячо завантажуються в in-memory кеш при старті; сесії живуть у Redis; GPT-4 асистент виконує SQL через захищений шлюз; фоновий воркер відправляє результати запитів у Google Spreadsheets з налаштовуваним інтервалом.


Що нами розроблено

Доменна модель і RBAC

  • Бенефіціари з 13-категорійною таксономією вразливості
  • Події, активності партнерів, проєкти, організації, місця
  • Append-only журнал аудиту з автоматичною очисткою за політикою зберігання
  • Чотирирольова система дозволів — Admin, HQ DB Manager, Project Manager, Manager, User — зі скоупінгом за проєктом та організацією, що забезпечується на рівні service-шару

AI-асистент для SQL-запитів

  • GPT-4 з OpenAI function-calling, що дозволяє адміністраторам запитувати базу даних звичайною мовою
  • Захищено чорним списком деструктивних ключових слів (DROP / DELETE / INSERT / UPDATE / SET)
  • Обмеження розміру відповіді та доступ лише для адмінів

Engine автоімпорту в Google Sheets

  • Фоновий воркер виконує користувацькі SELECT-запити з налаштовуваним інтервалом
  • Відправляє результати в Google Spreadsheets через Service Account-облікові дані на користувача
  • Забезпечує майже-реалтайм обмін даними із зовнішніми стейкхолдерами — без ручного копіювання

Оновлення в реальному часі

  • WebSocket-хаб (gorilla/websocket) для живих сповіщень між сесіями

Звітність

  • Два генератори звітів, включаючи галузевий стандарт гуманітарного сектору 5W (Who, What, Where, When, for Whom)
  • Звіти, готові до завантаження для донорських пакетів

Server-rendered UI

  • Go html/template + HTMX для швидких часткових оновлень сторінок без JS-фреймворку
  • Легкий бандл, підтримуваний код, без SPA-тулчейну

Авторизація та сесії

  • Вхід через Google OAuth
  • Сесії в Redis через scs/v2

Інфраструктура

  • Dockerized two-stage build
  • Пайплайн GitLab CI/CD з автодеплоєм на production VPS при кожному push у main
  • golang-migrate для версіонування схеми
  • Автоматичне очищення журналу аудиту за політикою зберігання

Наскрізна інженерна робота

  • Чиста шарувата архітектура: handler → service → repository → cache
  • Сирий SQL через sqlx для повного контролю над запитами
  • In-memory кеш для довідкових даних, гарячо завантажений при старті
  • Перевірки прав на рівні service-шару, без жодної довіри до UI
  • Continuous delivery з main у production

Технологічний стек

ШарТехнологія
МоваGo (Golang)
База данихPostgreSQL
Кеш / сесіїRedis
HTTP / UIGo html/template + HTMX
Real-timeWebSocket (gorilla/websocket)
AIOpenAI GPT-4 (function-calling)
Зовнішні інтеграціїGoogle Sheets API, Google OAuth 2.0
Сесіїscs/v2 (Redis store)
SQLsqlx (сирий SQL)
Міграціїgolang-migrate
КонтейнериDocker, Docker Compose
ДеплойGitLab CI/CD → VPS

Результат

Платформа замінила табличний робочий процес клієнта і стала єдиним джерелом істини для його польових операцій.

  • Польовий персонал реєструє події прямо з поля
  • Проєктні менеджери формують скоуповані звіти без допомоги IT
  • HQ збирає 5W-звіти для донорів за хвилини, а не за дні
  • Engine автоімпорту усунув ручне копіювання при обміні даними з партнерами
  • GPT-4 SQL-асистент дозволяє нетехнічним менеджерам самостійно відповідати на запитання до даних

Система працює в продакшні з continuous delivery через GitLab CI/CD. Модульна шарувата архітектура дозволила легко розширювати систему — роль HQ DB Manager та модуль активностей партнерів додано вже після запуску, без жодного рефакторингу наявного коду.

Beehive Logic

Високопродуктивна програмна інженерія для лідерів ринку. Працюємо в різних регіонах України, обслуговуємо клієнтів по всьому світу.

Послуги

Компанія

© 2026 Beehive Logic