Jak vytvořit aplikaci na sledování času: časovače, výkazy a reporty
Aplikace na sledování času zaznamenává, kdo na čem pracoval, jak dlouho, a zda se ten čas dá fakturovat. Abyste ji postavili, potřebujete klienty a projekty, ke kterým čas přiřadíte, časovač, který přežije zavřenou kartu prohlížeče, způsob, jak přidat a opravit záznamy ručně, týdenní výkaz a reporty, které z jednotlivých záznamů udělají součty. AI tvůrce aplikací dokáže z jednoho jasného promptu připravit funkční první verzi. Rozhodující jsou pravidla: zaokrouhlování, kdo co smí upravovat, kdy se týden zamkne a co je fakturovatelné.
Určete, k čemu čas sledujete
Stejná aplikace vypadá jinak podle důvodu, proč ji děláte:
- Fakturace klientům. Hodiny podle klienta, sazba na osobu nebo projekt a čistý export pro faktury. Nejdůležitější jsou přesnost a auditní stopa.
- Mzdy pro hodinové zaměstnance. Příchod a odchod, přestávky, pravidla pro přesčasy a schválení vedoucím. Platí místní pracovněprávní předpisy, takže ověřte, jaké záznamy musíte uchovávat.
- Pochopení, kam čas odchází. Osobní nebo týmový přehled, odhady versus skutečnost. Rychlost zápisu je důležitější než schvalovací procesy.
Pro první verzi vyberte jeden hlavní účel. Sledovač fakturace pro freelancera a směnové hodiny pro skladníka sdílí časovač a téměř nic jiného.
Co aplikace potřebuje
Data
| Tabulka | Klíčová pole |
|---|---|
| Klienti | Název, výchozí hodinová sazba, aktivní ano/ne |
| Projekty | Klient, název, rozpočet v hodinách (volitelný), ve výchozím stavu fakturovatelný ano/ne |
| Úkoly nebo kategorie | Projekt, název (design, schůzky, podpora) — zpočátku nepovinné |
| Časové záznamy | Osoba, projekt, úkol, čas začátku, čas konce, délka, poznámka, fakturovatelné ano/ne, stav (koncept, odesláno, schváleno), fakturováno ano/ne |
| Lidé | Jméno, e-mail, role, nákladová sazba nebo fakturační sazba |
U každého záznamu ukládejte čas začátku i konce a délku odvozujte z nich. Záznamy zadané jako „2h 15m“ bez časů mohou uložit jen délku, ale držte u nich datum.
Stránky
- Časovač a dnes: velké tlačítko start/stop, výběr projektu a dnešní záznamy pod ním.
- Týdenní pohled: mřížka s projekty v řádcích a dny ve sloupcích, kam lidé píší hodiny přímo. Mnozí ji dávají přednost před časovači.
- Reporty: hodiny podle klienta, projektu a osoby za zvolené období s rozdělením na fakturovatelné a nefakturovatelné a export do CSV.
- Administrace: správa klientů, projektů, lidí a sazeb.
Oprávnění
Před stavbou si zapište, kdo co smí dělat:
- Lidé vidí a upravují své vlastní záznamy.
- Vedoucí vidí záznamy svého týmu a schvalují týdny.
- Sazby mění jen administrátoři a v ideálním případě je vidí jen oni.
- Nikdo neupravuje záznam, jakmile byl schválen nebo vyfakturován, pokud ho administrátor neotevře znovu.
Poslední pravidlo dělá reporty důvěryhodnými. Náš průvodce přidáním přihlášení do aplikace pokrývá přihlašování a řízení přístupu podle rolí pokrývá role.
Rozhodnutí a kompromisy
Časovač, ruční zápis, nebo obojí
Časovače jsou přesné, pokud lidé nezapomenou je spustit, což se nestává vždy. Ruční zápis je rychlý pro lidi, kteří vyplní týden v pátek. Většina týmů potřebuje obojí a způsob, jak upravit záznam z časovače dodatečně. Pokud postavíte jen jedno, postavte týdenní mřížku; je jednodušší a pokryje případ, kdy jste zapomněli spustit časovač.
Kde běží aktivní časovač
Časovač počítající v prohlížeči přijde při zavření karty o všechno. Když někdo stiskne start, uložte čas začátku do databáze a zobrazte uplynulý čas odečtením od aktuálního času. Časovač pak běží dál přes obnovení stránky, notebooky i telefony. Rozhodněte, jestli jeden člověk může mít najednou dva časovače. Obvykle ne: spuštění nového zastaví starý.
Zaokrouhlování
Běžná pravidla zaokrouhlují každý záznam nahoru na nejbližších 6, 15 nebo 30 minut. Přesné časy držte v databázi a zaokrouhlení uplatňujte jen v reportech a fakturách. V reportech ukažte obě čísla, ať nikoho nepřekvapí.
Zamykání a schvalování
Bez zámku se mohou hodiny, které se už fakturovaly, zpětně změnit poté, co faktura odešla. Jednoduchý model: lidé odešlou týden, vedoucí ho schválí a schválené záznamy jsou jen pro čtení. Pokud z aplikace fakturujete, označte záznamy jako vyfakturované, aby nemohly být vyúčtovány dvakrát.
Časová pásma a půlnoc
Časy ukládejte v UTC a zobrazujte je v časovém pásmu daného člověka. Rozhodněte, ke kterému dni patří záznam, který běží od 23:00 do 01:00. Obvyklá odpověď je den, ve kterém začal.
První prompt, který funguje
Vytvoř aplikaci na sledování času pro designové studio se šesti lidmi. Data: klienti (název, hodinová sazba), projekty (klient, název, rozpočet hodin) a časové záznamy (osoba, projekt, začátek, konec, poznámka, fakturovatelné ano/ne, stav koncept/odesláno/schváleno). Stránky: stránka Dnes s časovačem start/stop a výběrem projektu, který ukládá čas začátku do databáze, aby časovač přežil obnovení stránky; stránka Týden s projekty jako řádky a dny od pondělí do neděle jako sloupci, kam lidé mohou psát hodiny přímo; stránka Reporty s hodinami podle klienta, projektu a osoby za zvolené období, rozdělenými na fakturovatelné a nefakturovatelné, s exportem do CSV; a stránka Administrace pro klienty, projekty a lidi. Na osobu může běžet jen jeden časovač. Schválené záznamy nelze upravovat. Časy ukládej v UTC a zobrazuj v časovém pásmu uživatele. Čistý, rychlý design ovladatelný klávesnicí.
Postup stavby
- Nejdřív projekty a ruční záznamy. Klienti, projekty, formulář pro přidání záznamu a seznam. Ujistěte se, že součty sedí.
- Časovač. Start, stop, jeden běžící časovač na osobu, uložený čas začátku. Otestujte tak, že spustíte časovač, zavřete kartu a znovu ji otevřete.
- Týdenní mřížka. Zápis hodin do buňky vytvoří nebo aktualizuje záznam.
- Přihlášení a role. Přidejte je dřív, než aplikaci začnou používat skuteční lidé, aby nikdo omylem neviděl sazby nebo cizí záznamy.
- Odeslání a schválení. Týdenní odeslání, schválení vedoucím, po schválení jen pro čtení.
- Reporty a export. Časové období, seskupování, rozdělení na fakturovatelné, CSV.
- Sazby a napojení na fakturaci, pokud fakturujete klienty. Vytváření faktur ponechte v samostatném kroku nebo aplikaci; viz jak postavit aplikaci pro fakturaci.
- Otestujte okrajové případy. Záznam přes půlnoc, týden se změnou času, dva časovače spuštěné ze dvou zařízení, úprava schváleného záznamu.
Časté chyby
- Počítání času jen v prohlížeči. Funguje to v demu a v reálném používání ztrácí hodiny.
- Zaokrouhlování uložených hodnot. Přesný čas už nikdy nezískáte zpět.
- Žádný zámek na schválených týdnech. Reporty pak přestanou sedět s fakturami.
- Každý vidí sazby všech. Od začátku skryjte sazby podle role.
- Příliš mnoho povinných polí. Pokud zápis času zabere víc než pár vteřin, lidé ho přestanou dělat a data se stanou fikcí. Úkol a poznámku zpočátku nechte nepovinné.
- Stavba plného správce projektů uvnitř trackeru. Projekty držte jako jednoduché štítky. Pokud potřebujete úkoly, tabule a termíny, je to nástroj pro správu projektů, samostatná stavba.
Kdy je lepší hotový nástroj
Potřebuje-li váš tým časovač, týdenní pohled a reporty, dedikované produkty na sledování času to dělají dobře. Přicházejí také s věcmi, jejichž stavba zabere opravdu práci: aplikace pro počítač a telefon, detekce nečinnosti, integrace s kalendářem a nástroji a připomínky na vyplnění výkazů. Pro hodinové mzdy zvládne nástroj postavený na tom bezpečněji přestávky, přesčasy a vedení záznamů než vlastní aplikace v první verzi.
Vlastní řešení se vyplatí, když vaše pravidla nesedí, když chcete hodiny propojit s daty, která už držíte (zakázky, pracovní příkazy, retainery, faktury), když se ceny za místo u velkého týmu sečtou, nebo když je sledování času jednou částí většího interního nástroje. Náš článek o vlastním vývoji versus nákupu softwaru prochází kompromis a pokud vaše hodiny dnes žijí ve sdílené tabulce, podívejte se na jak proměnit tabulku v aplikaci.
Stavba s Mythexem
V Mythexu popíšete sledovač v chatu a agent ho postaví v živém náhledu. Když je potřeba ukládat záznamy, přidá vlastní databázi Postgres; můžete to požádat přímo, nebo napsat /database. Případ použití interního nástroje v dokumentaci doporučuje vybrat pro první verzi jeden bolestivý krok, což sem sedí: začněte záznamy a týdenní mřížkou a pak přidejte časovače a schvalování.
Přihlášení pro váš tým si přidáte vlastním přístupem k autentizaci (recept na přidání přihlášení). Účty Mythexu jsou pro lidi, kteří aplikaci staví, ne pro lidi, kteří ji používají. Jakmile základní tok funguje, příkaz /test nechá agenta proklikat náhled (spustit časovač, přidat záznam, spustit report) a nahlásit, co se rozbilo. Vizuální výchozí bod najdete v šablonách aplikací.
Otázky
Jaké funkce potřebuje aplikace na sledování času?
Seznam klientů a projektů, časovač se spuštěním a zastavením, způsob, jak ručně přidat nebo opravit záznamy, týdenní výkaz a report hodin podle projektu a osoby. Schvalování, fakturační sazby a exporty přicházejí až potom.
Jak zabránit tomu, aby časovač přišel o čas, když se prohlížeč zavře?
Čas začátku uložte do databáze v okamžiku spuštění časovače a délku běhu počítejte z tohoto uloženého času. Pak zavření karty, obnovení stránky nebo přechod na jiné zařízení nic neztratí.
Má se čas zaokrouhlovat?
Ukládejte přesné časy začátku a konce a zaokrouhlení uplatňujte jen v reportech a fakturách. Pak můžete pravidlo zaokrouhlování změnit později, aniž byste přepisovali historii.
Vyplatí se stavět vlastní sledování času?
Obvykle jen tehdy, když jsou vaše pravidla neobvyklá nebo chcete hodiny propojit s jinými daty, která už držíte, například zakázkami, klienty nebo fakturami. Pro prosté časovače a reporty je existující nástroj levnější a rychlejší.