Przejdź do treści
BigTree108

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.