Studium przypadku: portal do zarządzania firmą
Nowa firma w 2025 roku potrzebowała od pierwszego dnia rekrutacji, onboardingu, umów, rejestracji czasu pracy, urlopów, fakturowania i księgowości, w budżecie, który wykluczał zakup siedmiu produktów. Zbudowaliśmy jedną platformę do tego wszystkiego i prowadzimy na niej firmę.
Problem
Gotowe narzędzia HR, rejestracji czasu i fakturowania kosztowałyby miesięcznie każde z osobna więcej niż cały budżet, a żadne z nich nie rozumiało ukraińskiego prawa dotyczącego współpracy z wykonawcami, e-podpisu przez lokalny bank ani sposobu, w jaki godziny przepływają z narzędzia do rejestracji czasu na fakturę dla klienta. Alternatywą były arkusze kalkulacyjne, które przestają działać w tygodniu, gdy ktoś jest na urlopie.
Zdecydowaliśmy się zbudować platformę na stosie, który sprzedajemy, traktować ją jak prawdziwy produkt z tymi samymi zasadami inżynieryjnymi, które stosujemy w pracy dla klientów, i uczynić z niej referencję, o którą nasi klienci mogą pytać.
Co robi
Rekrutacja
Wakaty publikowane na portalach z ofertami pracy, wstępna selekcja kandydatów przez bota w Telegramie z biblioteką pytań, rozmowy techniczne i zewnętrzne z rezerwacją terminów, śledzenie okresu próbnego.
Wdrożenie pracownika
Prowadzony przepływ, który zbiera dokumenty tożsamości, weryfikuje je za pomocą chmurowych usług AI, potwierdza pisownię imienia i nazwiska, zbiera dane kontaktowe i sprzęt oraz zakłada konta przez dostawcę tożsamości.
Umowy i dokumenty
Umowy o świadczenie usług i NDA generowane z szablonów do PDF, wysyłane do e-podpisu i przechowywane jako podpisany zapis. Umowy z klientami i dokumenty SOW przechodzą tę samą ścieżkę.
Czas pracy i urlopy
Godziny według przydziału do projektu, synchronizowane z zewnętrznych narzędzi do rejestracji czasu, edytowalne przez specjalistę; urlopy wypoczynkowe i zwolnienia chorobowe z limitami przypisanymi do umowy oraz akceptacjami.
Wynagrodzenia i fakturowanie
Miesięczne faktury specjalistów i faktury dla klientów tworzone z tych samych zarejestrowanych godzin, kursy walut z banku centralnego, refakturowane płatności jednorazowe, archiwum podpisanych faktur.
Księgowość i zgodność
Przypomnienia o deklaracjach i płatnościach podatkowych, import wyciągów bankowych, kontakty awaryjne oraz model uprawnień z zabezpieczeniami na poziomie wierszy i wnioskami o podniesienie uprawnień do danych finansowych.
Powiadomienia
Karty w czacie i komunikatorze dla każdego zdarzenia, na które osoba musi zareagować, z zasadą, że żadna wiadomość nigdy nie zawiera danych finansowych; te pozostają za logowaniem.
Jak jest zbudowana
Backend
.NET 10 na Azure Functions, vertical slices z CQRS przez mediator generowany ze źródeł, walidacja na każdej granicy, EF Core z wersjonowanymi migracjami.
Dane
Azure SQL z zabezpieczeniami na poziomie wierszy dla każdego klienta i kolumnami Always Encrypted dla danych osobowych i finansowych, klucze przechowywane w zarządzanym sejfie.
Frontend
Angular z komponentami standalone, sygnałami i wykrywaniem zmian bez zone.js, system projektowy oparty na Tailwind oraz klient API generowany z dokumentu OpenAPI.
Dostawa
GitHub Actions z poświadczeniami federacyjnymi, Terraform dla całego środowiska, zmiany w bazie danych wdrażane jako migracje w pipeline, CodeQL i skanowanie zależności.
Zasady, które ją ukształtowały
- Priorytety w stałej kolejności: koszt, potem bezpieczeństwo, potem nowoczesność, potem wydajność, potem zgodność z wymogami. Każdy konflikt rozstrzyga wyższy priorytet.
- Dostawca tożsamości jest źródłem prawdy dla danych o osobach; baza danych jest jego pamięcią podręczną i jedynym miejscem dla wynagrodzeń, danych rekrutacyjnych i uprawnień.
- Dane wrażliwe nigdy nie trafiają do zwykłej kolumny, nawet na chwilę. Szyfrowanie jest deklarowane w więcej niż jednym miejscu i sprawdzane przy starcie.
- Każda poprawka błędu trafia z testem dla jego klasy, przesuniętym do najszerszej warstwy egzekwowania, która może go wychwycić; często jest to test architektury, a nie test jednostkowy.
- Czat jest niezaufaną powierzchnią wyświetlania. Powiadomienia nazywają zdarzenie i prowadzą do strony za uwierzytelnieniem; kwoty i stawki nigdy nie opuszczają produktu.
Dlaczego ma to znaczenie dla Państwa
Nie opisujemy dema. Ta platforma każdego dnia prowadzi prawdziwą firmę, co oznacza, że żyjemy z własnymi decyzjami architektonicznymi, własnymi migracjami i własnym alertowaniem dostatecznie długo, by wiedzieć, które z nich były słuszne. Tę samą ocenę wnosimy do Państwa produktu.
Chcą Państwo mieć coś podobnego we własnej firmie?
Prosimy o opis procesów, które dziś prowadzą Państwo w arkuszach kalkulacyjnych. Pisemny plan, propozycję architektury i wycenę otrzymają Państwo w ciągu jednego dnia roboczego.