Varta HRM — Штатно-посадова структура з ієрархічним деревом підрозділів та посад
Індивідуальна (Портфоліо)

Varta — HRM-система управління персоналом

Повнофункціональна HRM-система для управління особовим складом організації

Клієнт Збройні Сили України
Рік 2025–2026
Категорія HRM Система
Стек Django 6 + React 19

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

01

Про продукт

Повнофункціональна HRM-система (Human Resource Management) для військового підрозділу бригадного рівня Збройних Сил України. Система повністю замінила паперовий облік та застарілі рішення, забезпечуючи облік особового складу в реальному часі.

Повний цикл розробки — від архітектури БД до production-деплою. 11 Django-додатків, 12 фронтенд-модулів, ~80 API ViewSets.

~93K Рядків коду
452 Файлів
17 Модулів
80+ API ViewSets
02

Інтерфейс системи

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

03

Стек технологій

Backend

Python 3.12, Django 6 + DRF, Django Channels, Uvicorn (ASGI), PostgreSQL 16, Redis

Frontend

React 19, TypeScript (strict), Vite, Ant Design 5, TanStack React Query, React Flow, Recharts

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

Nginx (reverse proxy + static), systemd, Let's Encrypt SSL, WebSocket (Django Channels + Redis)

Інтеграції

WhatsApp-бот (Node.js), Google Sheets API (OAuth 2.0), генерація DOCX-документів (python-docx)

04

Ключові модулі та рішення

Організаційна структура

Гнучке дерево підрозділів необмеженої глибини (django-mptt). Інтерактивна оргсхема (React Flow + Dagre auto-layout). Позиційна модель: «слоти» (посади) існують незалежно від людей — вакансії, штатний розклад, кар'єрна історія.

Управління персоналом

Картка співробітника з фіксованими + динамічними полями (EAV-конструктор через UI). Мульти-блочна система статусів з каскадними правилами. Повна кар'єрна історія: призначення, переведення, підвищення, тимчасові обов'язки, відрядження. М'яке видалення — записи ніколи не видаляються, тільки архівуються.

Табель обліку

Матриця «співробітник × дні місяця» з віртуальним скролінгом. Маппінг: комбінації статусів → символ табелю (налаштовується через UI). Три джерела даних: автозаповнення, панель відсутностей, ручне введення. Аудит-лог кожної зміни комірки.

RBAC та безпека даних

~30 гранулярних дозволів, динамічні ролі через UI. 3-рівнева ізоляція даних: Django ORM (.for_user()), Middleware перевірка кожної API-відповіді, PostgreSQL RLS (Row-Level Security) як останній рубіж.

Генерація документів

DOCX-шаблони з плейсхолдерами → автопідставлення даних з БД. Пакетна генерація на декількох осіб. 6 типів документів: відпустки, відрядження, лікування, передача посади та ін.

Звіти та інтеграції

Щоденний текстовий рапорт. Складний Excel-експорт з форматуванням (openpyxl). Конструктор звітів (drag-and-drop). Google Sheets інтеграція (OAuth 2.0, двостороння синхронізація). WhatsApp-бот для масових розсилок та автоматичних повідомлень.

Real-time та продуктивність

WebSocket через Django Channels + Redis. Віртуальний скролінг для списків 500+ елементів. Server-side пагінація, фільтрація, сортування. Партиціонування по місяцях для високонавантажених таблиць. Code splitting (React.lazy + Suspense).

Адмін-панель

Моніторинг онлайн-користувачів. Статистика сервера (CPU, RAM, диск). Управління бекапами (ручні + автоматичні). Системні повідомлення, блокування системи на обслуговування.

05

Архітектура та безпека

Headless-архітектура: Django використовується виключно як API-бекенд (без Django Admin, без шаблонів). React SPA спілкується з API через HTTPS та WebSocket. Три рівні ізоляції даних гарантують, що жоден користувач не отримає доступ до даних за межами свого підрозділу — навіть через raw SQL.

Frontend
React 19 SPA TypeScript (strict) Ant Design React Query
HTTPS / WebSocket
Nginx
/api/* → Django /ws/* → Channels /* → Static SPA
Backend
Django 6 + DRF Uvicorn (ASGI) Django Channels WhatsApp Bot
Дані
PostgreSQL 16 + RLS Redis

3 рівні ізоляції даних

1

Django ORM

Кастомний QuerySet з .for_user() на кожному ViewSet

2

Middleware

Перевіряє кожну API-відповідь на витік даних, блокує та логує порушення

3

PostgreSQL RLS

Row-Level Security — навіть raw SQL не може повернути дані поза дозволеними підрозділами

06

Що було зроблено

Повний цикл розробки: архітектура системи та схема БД, Backend (Django REST API, WebSocket, бізнес-логіка, RBAC, RLS), Frontend (React SPA з 12 модулями), DevOps (Nginx, systemd, SSL, production-деплой), інтеграції (WhatsApp-бот, Google Sheets API, генерація документів).

17 модулів системи

Дашборд та аналітика
Організаційна структура
Штатно-посадова структура
Бойовий та чисельний склад
Табель обліку
Тимчасово відсутні
Виключені з особового складу
Безповоротні втрати
Тимчасово прибулі
Генератор документів
Звіти та експорт
Журнал бойових дій (ЖБД)
Накази стройової частини
Канбан-дошка завдань
Інтеграція з WhatsApp
Адмін-панель та бекапи
Ролі та права (~100+ permissions)
07

Часті запитання

Які технології використані для створення HRM-системи Varta?

Backend: Python 3.12, Django 6, Django REST Framework, Django Channels (WebSocket), PostgreSQL 16, Redis. Frontend: React 19, TypeScript (strict mode), Vite, Ant Design, TanStack React Query, React Flow. Інфраструктура: Nginx, Uvicorn (ASGI), systemd. Інтеграції: WhatsApp-бот (Node.js), Google Sheets API, генерація DOCX-документів.

Як Varta забезпечує безпеку даних у багатокористувацькому середовищі?

Varta реалізує 3 рівні ізоляції даних: 1) Django ORM з кастомним QuerySet-менеджером (.for_user()) на кожному ViewSet, 2) Middleware що перевіряє кожну API-відповідь на витік даних, 3) PostgreSQL Row-Level Security (RLS) на всіх таблицях з прив'язкою до підрозділу. Додатково: CSRF-захист, rate limiting, доступ тільки через VPN, HTTPS, strict CORS.

Який масштаб проекту Varta HRM?

Проект складається з ~93 000 рядків коду у 452 файлах: Backend (Python/Django) — 167 файлів, Frontend (TypeScript/React) — 275 файлів. 17 функціональних модулів, 80+ API ViewSets, 11 Django-додатків. Підтримує оновлення в реальному часі через WebSocket та одночасну роботу багатьох користувачів.

Чи можете ви розробити аналогічну HRM-систему для нашої організації?

Так, Artbrain спеціалізується на розробці кастомних HRM/ERP-систем. Ми можемо створити рішення під конкретні вимоги вашої організації — під конкретні потреби вашого бізнесу. Зв'яжіться з нами для обговорення проекту.

Почніть свій шлях до успіху

Маєте проект? Давайте реалізуємо його разом.

Також

Інші послуги

Landing Page
Сторінка для залучення клієнтів та збору заявок
від $550
Корпоративний сайт
Багатосторінковий сайт для представлення бізнесу
від $1200
Інтернет-магазин
Онлайн-магазин з каталогом, кошиком та оплатою
від $2500
CRM система
Управління клієнтами, продажами та комунікаціями
від $3000
Калькулятор вартості

З нашого блогу

Комісії Prom.ua у 2026: чому власний інтернет-магазин вигідніше
03.04.2026 · 14 хв
Комісії Prom.ua у 2026: чому власний інтернет-магазин вигідніше
Комісія Prom.ua від 4.2% до 15%, абонплата до 11 500 грн/рік. Порахували, при якому обороті власний інтернет-магазин від...
Розробка Telegram-ботів для бізнесу у 2026: можливості, вартість та реальні кейси
26.03.2026 · 14 хв
Розробка Telegram-ботів для бізнесу у 2026: можливості, вартість та реальні кейси
Що може Telegram-бот у 2026 році: Mini Apps, AI, платежі, автоматизація продажів. Реальна вартість розробки від $800. По...
Інтернет-магазин у 2026: Shopify, WordPress чи розробка на замовлення — що обрати?
23.03.2026 · 16 хв
Інтернет-магазин у 2026: Shopify, WordPress чи розробка на замовлення — що обрати?
Порівнюємо три шляхи створення інтернет-магазину: Shopify, WordPress + WooCommerce та кастомна розробка. Реальні ціни, п...
Усі статті
Подзвонити Telegram WhatsApp