Кейс: портал управління компанією
У 2025 році новій компанії з першого дня були потрібні найм, онбординг, договори, облік часу, відпустки, виставлення рахунків і бухгалтерія, а бюджет не дозволяв купувати сім окремих продуктів. Ми створили одну платформу для всього цього і керуємо на ній компанією.
Проблема
Готові інструменти для HR, обліку часу та виставлення рахунків коштували б щомісяця більше, ніж увесь бюджет, і жоден із них не враховував українського законодавства про підрядників, електронного підпису через місцевий банк чи те, як години з трекера часу потрапляють у рахунок клієнту. Альтернативою були електронні таблиці, які перестають працювати вже в той тиждень, коли хтось іде у відпустку.
Ми вирішили побудувати платформу на стеку, який пропонуємо клієнтам, ставитися до неї як до справжнього продукту з тими самими інженерними правилами, що й до клієнтських робіт, і зробити її референсом, про який можуть розпитувати наші клієнти.
Що вона робить
Найм
Публікація вакансій на майданчиках із пошуку роботи, відбір кандидатів через Telegram-бота з бібліотекою запитань, технічні й зовнішні співбесіди із бронюванням часу, відстеження випробувального терміну.
Онбординг
Покроковий сценарій, який збирає документи, що посвідчують особу, перевіряє їх за допомогою хмарних AI-сервісів, підтверджує написання імені, збирає контакти та інформацію про обладнання й створює облікові записи через провайдера ідентифікації.
Договори та документи
Договори про надання послуг і NDA формуються з шаблонів у PDF, надсилаються на електронний підпис і зберігаються як підписаний запис. Угоди з клієнтами та специфікації обсягу робіт проходять тим самим шляхом.
Облік часу й відпустки
Облік годин за кожним призначенням на проєкт: години синхронізуються із зовнішніх трекерів часу, і фахівець може їх редагувати; відпустки та лікарняні з лімітами днів за договором і погодженнями.
Винагорода та виставлення рахунків
Щомісячні рахунки фахівців і рахунки клієнтів, сформовані з тих самих облікованих годин, курси валют центрального банку, перевиставлення разових платежів, архів підписаних рахунків.
Бухгалтерія та відповідність вимогам
Нагадування про податкові декларації та платежі, імпорт банківських виписок, екстрені контакти та модель дозволів із безпекою на рівні рядків і запитами на підвищення прав для доступу до фінансових даних.
Сповіщення
Картки в чаті та месенджері для кожної події, на яку людині потрібно відреагувати, з правилом, що жодне повідомлення не містить фінансових цифр: вони залишаються за входом у систему.
Як вона побудована
Бекенд
.NET 10 на Azure Functions, вертикальні зрізи з CQRS через медіатор, згенерований source-генераторами, валідація на кожній межі, EF Core з версіонованими міграціями.
Дані
Azure SQL із безпекою на рівні рядків для кожного клієнта та стовпцями Always Encrypted для персональних і фінансових даних, ключі зберігаються в керованому сховищі.
Фронтенд
Angular зі standalone-компонентами, сигналами та виявленням змін без zone.js, дизайн-система на Tailwind і API-клієнт, згенерований з документа OpenAPI.
Постачання
GitHub Actions із федеративними обліковими даними, Terraform для всієї інфраструктури, зміни бази даних, що розгортаються міграціями в пайплайні, CodeQL і сканування залежностей.
Правила, що її сформували
- Пріоритети у фіксованому порядку: вартість, потім безпека, потім сучасність, потім продуктивність, потім відповідність вимогам. Будь-який конфлікт розв'язується на користь вищого пріоритету.
- Джерелом істини для даних про людей є провайдер ідентифікації; база даних є для них кешем і єдиним місцем зберігання зарплат, даних про найм і прав доступу.
- Чутливі дані ніколи не потрапляють у звичайний стовпець, навіть ненадовго. Шифрування задається більш ніж в одному місці й перевіряється під час запуску.
- Кожне виправлення помилки супроводжується тестом на її клас, винесеним на найширший рівень контролю, який здатен її виявити; часто це архітектурний тест, а не модульний.
- Чат є недовіреним середовищем відображення. Сповіщення називають подію й містять посилання на сторінку, захищену автентифікацією; суми й ставки ніколи не виходять за межі продукту.
Чому це важливо для вас
Ми описуємо не демо. Ця платформа щодня керує справжньою компанією, а отже, ми достатньо довго працюємо з власними архітектурними рішеннями, власними міграціями та власною системою алертів, щоб знати, які з них були правильними. Те саме вміння ухвалювати рішення ми застосовуємо до вашого продукту.
Хочете щось подібне для своєї компанії?
Опишіть процеси, які ви сьогодні ведете в електронних таблицях. Протягом одного робочого дня ви отримаєте письмовий план, пропозицію архітектури та оцінку.