Повнофункціональна HRM-система для управління особовим складом організації
Проект розроблено для державної організації. Всі персональні дані на скріншотах є вигаданими та використовуються виключно для демонстрації інтерфейсу. Будь-які збіги з реальними особами випадкові.
Повнофункціональна HRM-система (Human Resource Management) для військового підрозділу бригадного рівня Збройних Сил України. Система повністю замінила паперовий облік та застарілі рішення, забезпечуючи облік особового складу в реальному часі.
Повний цикл розробки — від архітектури БД до production-деплою. 11 Django-додатків, 12 фронтенд-модулів, ~80 API ViewSets.
Нижче представлено скріншоти ключових модулів системи з тестовими даними. Реальні дані особового складу є конфіденційними та не підлягають розголошенню.
Python 3.12, Django 6 + DRF, Django Channels, Uvicorn (ASGI), PostgreSQL 16, Redis
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)
Гнучке дерево підрозділів необмеженої глибини (django-mptt). Інтерактивна оргсхема (React Flow + Dagre auto-layout). Позиційна модель: «слоти» (посади) існують незалежно від людей — вакансії, штатний розклад, кар'єрна історія.
Картка співробітника з фіксованими + динамічними полями (EAV-конструктор через UI). Мульти-блочна система статусів з каскадними правилами. Повна кар'єрна історія: призначення, переведення, підвищення, тимчасові обов'язки, відрядження. М'яке видалення — записи ніколи не видаляються, тільки архівуються.
Матриця «співробітник × дні місяця» з віртуальним скролінгом. Маппінг: комбінації статусів → символ табелю (налаштовується через UI). Три джерела даних: автозаповнення, панель відсутностей, ручне введення. Аудит-лог кожної зміни комірки.
~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-бот для масових розсилок та автоматичних повідомлень.
WebSocket через Django Channels + Redis. Віртуальний скролінг для списків 500+ елементів. Server-side пагінація, фільтрація, сортування. Партиціонування по місяцях для високонавантажених таблиць. Code splitting (React.lazy + Suspense).
Моніторинг онлайн-користувачів. Статистика сервера (CPU, RAM, диск). Управління бекапами (ручні + автоматичні). Системні повідомлення, блокування системи на обслуговування.
Headless-архітектура: Django використовується виключно як API-бекенд (без Django Admin, без шаблонів). React SPA спілкується з API через HTTPS та WebSocket. Три рівні ізоляції даних гарантують, що жоден користувач не отримає доступ до даних за межами свого підрозділу — навіть через raw SQL.
Кастомний QuerySet з .for_user() на кожному ViewSet
Перевіряє кожну API-відповідь на витік даних, блокує та логує порушення
Row-Level Security — навіть raw SQL не може повернути дані поза дозволеними підрозділами
Повний цикл розробки: архітектура системи та схема БД, Backend (Django REST API, WebSocket, бізнес-логіка, RBAC, RLS), Frontend (React SPA з 12 модулями), DevOps (Nginx, systemd, SSL, production-деплой), інтеграції (WhatsApp-бот, Google Sheets API, генерація документів).
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 реалізує 3 рівні ізоляції даних: 1) Django ORM з кастомним QuerySet-менеджером (.for_user()) на кожному ViewSet, 2) Middleware що перевіряє кожну API-відповідь на витік даних, 3) PostgreSQL Row-Level Security (RLS) на всіх таблицях з прив'язкою до підрозділу. Додатково: CSRF-захист, rate limiting, доступ тільки через VPN, HTTPS, strict CORS.
Проект складається з ~93 000 рядків коду у 452 файлах: Backend (Python/Django) — 167 файлів, Frontend (TypeScript/React) — 275 файлів. 17 функціональних модулів, 80+ API ViewSets, 11 Django-додатків. Підтримує оновлення в реальному часі через WebSocket та одночасну роботу багатьох користувачів.
Так, Artbrain спеціалізується на розробці кастомних HRM/ERP-систем. Ми можемо створити рішення під конкретні вимоги вашої організації — під конкретні потреби вашого бізнесу. Зв'яжіться з нами для обговорення проекту.