Případová studie: portál pro řízení firmy
Nová firma v roce 2025 potřebovala nábor, onboarding, smlouvy, evidenci času, dovolenou, fakturaci a účetnictví od prvního dne, s rozpočtem, který vylučoval nákup sedmi produktů. Postavili jsme na to jednu platformu a firmu na ní provozujeme.
Problém
Hotové nástroje pro HR, evidenci času a fakturaci by každý stál měsíčně víc než celý rozpočet a žádný z nich nerozuměl ukrajinskému právu pro dodavatele, elektronickému podpisu přes místní banku ani tomu, jak hodiny proudí z nástroje pro evidenci času na fakturu klientovi. Alternativou byly tabulky, které přestanou fungovat týden, kdy je někdo na dovolené.
Rozhodnutí znělo postavit platformu na stacku, který prodáváme, zacházet s ní jako se skutečným produktem se stejnými inženýrskými pravidly, jaká uplatňujeme na práci pro klienty, a nechat ji být referencí, na kterou se naši klienti mohou ptát.
Co dělá
Nábor
Pozice zveřejňované na portálech s nabídkami práce, předvýběr kandidátů přes bota na Telegramu s knihovnou otázek, technické a externí pohovory s rezervací termínů, sledování zkušební doby.
Onboarding
Provázený postup, který shromažďuje doklady totožnosti, ověřuje je cloudovými službami AI, potvrzuje pravopis jména, sbírá kontakty a vybavení a zakládá účty přes poskytovatele identity.
Smlouvy a dokumenty
Smlouvy o poskytování služeb a NDA generované ze šablon do PDF, odesílané k elektronickému podpisu a uložené jako podepsaný záznam. Smlouvy s klienty a pracovní zadání (statements of work) následují stejnou cestu.
Čas a dovolená
Hodiny podle přiřazení k projektu, synchronizované z externích nástrojů pro evidenci času a upravitelné specialistou; dovolená a nemoc s nároky podle smlouvy a schvalováním.
Odměňování a fakturace
Měsíční faktury specialistů a faktury klientům vytvářené ze stejných evidovaných hodin, kurzy měn od centrální banky, refakturované jednorázové platby, archiv podepsaných faktur.
Účetnictví a soulad s předpisy
Připomínky daňových přiznání a plateb, import bankovních výpisů, nouzové kontakty a model oprávnění se zabezpečením na úrovni řádků a žádostmi o zvýšení oprávnění pro finanční data.
Oznámení
Karty v chatu a messengeru pro každou událost, na kterou musí člověk reagovat, s pravidlem, že žádná zpráva nikdy nenese finanční údaje; ty zůstávají za přihlášením.
Jak je postavena
Backend
.NET 10 na Azure Functions, vertikální řezy s CQRS přes mediátor generovaný zdrojovým generátorem, validace na každé hranici, EF Core s verzovanými migracemi.
Data
Azure SQL se zabezpečením na úrovni řádků pro každého klienta a sloupci Always Encrypted pro osobní a finanční data, s klíči uloženými ve spravovaném trezoru.
Frontend
Angular se standalone komponentami, signály a zoneless detekcí změn, designový systém v Tailwindu a API klient generovaný z dokumentu OpenAPI.
Doručování
GitHub Actions s federovanými přihlašovacími údaji, Terraform pro celé prostředí, změny databáze dodávané jako migrace v pipeline, CodeQL a skenování závislostí.
Pravidla, která ji utvářela
- Priority v pevném pořadí: náklady, pak zabezpečení, pak moderní řešení, pak výkon, pak soulad s předpisy. Každý konflikt se řeší podle vyššího pořadí.
- Poskytovatel identity je zdrojem pravdy pro data o lidech; databáze je jeho cache a jediné místo pro mzdy, náborová data a oprávnění.
- Citlivá data nikdy nepřistanou v běžném sloupci, ani krátce. Šifrování je deklarováno na více místech a ověřováno při startu.
- Každá oprava chyby se dodává s testem její třídy, posunutým na nejširší vynucující vrstvu, která ji dokáže vidět, často architektonický test místo unit testu.
- Chat je nedůvěryhodná zobrazovací plocha. Oznámení pojmenují událost a odkazují na stránku za autentizací; částky a sazby produkt nikdy neopustí.
Proč na tom vám záleží
Nepopisujeme ukázku. Tato platforma každý den vede skutečnou firmu, což znamená, že žijeme se svými architektonickými rozhodnutími, migracemi a upozorněními dost dlouho, abychom věděli, která byla správná. Je to stejný úsudek, který přinášíme do vašeho produktu.
Chcete něco takového pro svou firmu?
Popište procesy, které dnes vedete v tabulkách. Písemný plán, návrh architektury a odhad dostanete do jednoho pracovního dne.