Platform services

Security, audit and communication

Authentication with RBAC, immutable audit log of all actions, notifications across 4 channels, built-in messenger and document management.

RBAC 20+ roles Audit trail Email/SMS/Push/In-App Messenger Documents with workflow

Authentication & RBAC

JWT RS256 tokens, device-level sessions, 20+ predefined roles with wildcards.

super_adminmanager accountantwarehouse sales_managerviewer

Audit trail

Immutable log of all 185+ domain events. 27 action types. Covers 16 business contexts. Append-only.

  • Full traceability of every change
  • Filter by resource, actor, action
  • Configurable retention with auto-archiving

Notifications

4 channels: Email, SMS, Push, In-App. Templates with variables, priorities, user settings.

  • Priorities: Critical / High / Normal / Low
  • Retry logic on delivery errors
  • Opt-in/out per event type

Messenger

Internal direct and group chats. Full-text search, real-time delivery via SSE, member management.

  • 1:1 and group conversations
  • Real-time delivery (Server-Sent Events)
  • Message text search

Documents & templates

Markdown templates, folder tree by module, approval workflows, digital signatures, versioning.

AccountingContracts HRProcurement ManufacturingSalesOperations
Config-driven Dashboard

Configurable Dashboard Engine

Every company gets its own dashboard layout defined as a JSON configuration in the database. No code changes required β€” update a single SQL row to change what widgets appear, in what order, and with what parameters.

1

JSON layout per company

Each company has a row in dashboard_configs with a JSONB widget layout. Sections, widget IDs, spans and params β€” all configurable.

2

25+ live widgets

KPI tiles, spline charts and data tables β€” all fetching from live DB on each load. No stale caches.

3

Reactive auto-refresh

PostgreSQL triggers fire pg_notify on every data change. A Go listener debounces signals and runs REFRESH MATERIALIZED VIEW CONCURRENTLY β€” no cron, no scripts.

4

Holding Dashboard

First screen after login for holding owners: consolidated KPIs, per-subsidiary cards with live metrics, tabs and charts.

Π₯ΠΎΠ»Π΄ΠΈΠ½Π³ ↓ β†Ί Π’Π•Π Π‘Π†Π― v3 ΠžΠΠžΠ’Π›Π•ΠΠž 14:32:18 Π’Π˜Π Π£Π§ΠšΠ MTD 41.5M Π—ΠΠœΠžΠ’Π›Π•ΠΠΠ― 10 ВІДВАНВАЖЕННЯ 7 AR ΠŸΠ ΠžΠ‘Π’Π ΠžΠ§Π•ΠΠ 3.2M ВРЕНД ΠŸΠ ΠžΠ”ΠΠ–Π†Π’ (30 ДН) ВОП ΠšΠ›Π†Π„ΠΠ’Π˜ ΠΠžΠœΠ•Π  ΠšΠ›Π†Π„ΠΠ’ БУМА БВАВУБ confirmed JSON config β†’ DB only