Interní
PSA platforma

Klientský projekt · Hlavní vývojářka
Dashboard PSA platformy v MacBook Air mockupu s ukázkovými daty

Interní informační systém (dále IS) pro konzultační firmu. Sjednocuje klienty, projekty a zaměstnance včetně jejich kapacit a výkazů rozházené mezi Clockify, Entra ID a Excelem. Sync s Clockify a Entra ID je obousměrný.

Zaměstnanec eviduje výkazy, squad leader s delivery managerem plánuje alokace a sleduje marži, administrace spravuje entity a exportuje reporty. Změny se ukládají do historie, takže marži projektu jde spočítat ke kterémukoli datu.

Role Hlavní vývojářka · Full-stack
Typ Interní systém · klientský projekt
Období Od listopadu 2025 · v produkci od dubna 2026
Technologie
Next.js · React · TypeScript Prisma · SQL Server NextAuth · Microsoft Entra ID Microsoft Graph API Clockify API Azure Container Apps Azure Key Vault · Blob Storage Radix UI · Tailwind next-intl (CS/EN)

Pro účely portfolia je název klienta anonymizovaný a data ve screenshotech jsou ilustrativní.

Konzultační firma stojí na třech otázkách: kdo dělá na čem, kolik to stojí a kolik si za to účtujeme. Odpovědi žily rozházené mezi několika systémy a Excel tabulkami. Každý s jiným formátem, žádný neuchovával historii.

Bez sjednoceného pohledu nešlo jednoduše zjistit aktuální vytížení týmu, spočítat marži projektu ke konkrétnímu datu ani auditovat, kdy a proč se změnila alokace, sazba nebo status projektu. Změny přepisovaly předchozí hodnoty, takže zpětné finanční rekonstrukce byly pracné až nemožné.

Systém propojuje tři světy: organizační strukturu z Microsoft Entra ID, výkazy hodin z Clockify a vlastní data (klienti, projekty, kapacity, sazby, marže) v SQL Serveru.

Přihlašování jde přes Entra ID, secrets jsou v Azure Key Vault. Deploy pipeline používá Workload Identity Federation, takže v CI nejsou žádné dlouhodobé secrety.

auth · role entries · projects identity · IDs reports · finance Uživatelé employee · lead · admin Interní IS Next.js · Prisma · SQL Server 30+ entit · 49 API routes Clockify Time tracking WEBHOOKS · REAL-TIME Entra ID Identity · HR DAILY 3:00 · MS GRAPH Excel Import · Export ON-DEMAND · BATCH
Interní IS jako centrální bod komunikuje se všemi systémy obousměrně.

Synchronizace s Clockify

Uživatelé, projekty a výkazy hodin se automaticky drží konzistentní mezi IS a Clockify.

  • Webhooky pro real-time synchronizaci. Když se v Clockify změní výkaz, IS se to dozví okamžitě, bez čekání na plánovanou synchronizaci.
  • Odolnost proti rate limitům. Automatické opakování s postupně rostoucí prodlevou, respektuje pokyny z API.
  • Ochrana proti souběhu a audit. Systém zabrání souběhu dvou plných synchronizací zároveň, každá synchronizace generuje záznam pro dohledatelnost.

Sladění zaměstnanců s Entra ID

IS potřebuje aktuální seznam zaměstnanců pro kapacitní plánování, sazby i pohledy na výkazy. Synchronizace běží průběžně a sladí seznam zaměstnanců mezi Entra ID a IS.

  • Filtr firemních účtů. Vyřadí účty, které nepatří konkrétnímu zaměstnanci: schůzkové boty, tiskárny, helpdesk, service účty.
  • Automatické přiřazení ID. Když zaměstnanec nemá své ID, systém mu ho v IS vygeneruje a zároveň propíše do Entra ID.

Klíčové technické výzvy

  • Sladění tří systémů. Zaměstnanec žije v Entra ID, Clockify i IS, ale žádný z nich není zdroj pravdy pro všechno. Průběžné automatické sladění doplňuje chybějící identifikátory a přidává nové účty.
  • Uchování historie všeho, co se mění v čase. Kapacity, sazby, benefity i statusy projektů se ukládají s časovým rozsahem, takže reporting jde spočítat ke konkrétnímu datu a historie se nikdy neztrácí.
  • XLSX pro hromadné operace a reporting. IS má vlastní UI pro plánování, ale podporuje i práci přes Excel. Hromadný import kapacit s validací a export sazeb, alokací a historie projektů pro finanční reporty.

IS dal konzultační firmě jedno centrální místo pro tři věci, které dřív žily rozházeně: řízení projektů, výkazy a plánování kapacit, sazeb i benefitů.

  • Sledování projektů. Na jednom místě je odpovědný vedoucí, tým, aktuální stav i odpracované hodiny. Vedoucí projektu vidí, jak projekt jede, bez skoku mezi systémy.
    Detail projektu — odpovědný vedoucí, tým, časová osa squadů a stavů projektu
  • Sledování výkazů propojené s Clockify. Zaměstnanci si vedou výkazy v Clockify, jak jsou zvyklí, IS je automaticky synchronizuje a používá pro alokace, marže i reporty.
    Přehled výkazů synchronizovaných z Clockify s filtrováním, řazením a exportem
  • Plánování kapacit, sazeb a benefitů s historií. Alokace lidí na týmy, hodinové sazby (fakturovatelné i interní) i benefity se ukládají s datem platnosti. Marži projektu jde spočítat ke kterémukoli datu v minulosti.
    Detail zaměstnance — historie úvazku, sazeb a benefitů podle data platnosti
  • Řízení oprávnění na úrovni uživatele i skupiny. Role se přiřazují buď konkrétnímu mailu, nebo přímo skupině v Entra ID. Přístup se tak dá měnit centrálně z HR bez zásahu do IS.
  • Uložené pohledy na výkazy. Každý uživatel si může uložit oblíbenou kombinaci filtrů, řazení a zobrazených sloupců. Přepínání mezi svými pohledy jedním klikem.
  • Podpora dvou jazyků: čeština a angličtina. UI je plně přeloženo, uživatel si přepíná jazyk podle preference. Přeložit jde vše od tlačítek po systémové hlášky.

Jako hlavní vývojářka jsem projekt postavila full-stack: schema, backend, frontend i integrace.

Vývoj trval pět měsíců v úzké spolupráci s klientem. Týdenní schůzky doplňoval vlastní feedback kanál v aplikaci, kde klient hlásil bugy, posílal návrhy změn i screenshoty toho, co nesedí. Z těchto vstupů jsem průběžně iterovala.

Feedback kanál v aplikaci — seznam příspěvků od uživatelů s prioritami a stavy
Feedback kanál pro bugy a návrhy změn

Fáze 1 je v produkci od dubna 2026. Od té doby ji aktivně používají uživatelé a další fáze čeká na jejich signál.