Kako napraviti aplikaciju za praćenje vremena: tajmeri, evidencije i izveštaji
Aplikacija za praćenje vremena beleži ko je radio na čemu, koliko dugo i da li se to vreme može naplatiti. Da biste je napravili, potrebni su vam klijenti i projekti za praćenje, tajmer koji preživi zatvorenu karticu pregledača, način da ručno dodajete i ispravljate unose, nedeljna evidencija i izveštaji koji sirove unose pretvaraju u zbirove. Alat za pravljenje aplikacija uz veštačku inteligenciju može da napravi prvu radnu verziju iz jednog jasnog prompta. Odluke koje su važne tiču se pravila: zaokruživanja, ko šta sme da menja, kada se nedelja zaključava i šta se smatra naplativim.
Odredite čemu služi praćenje vremena
Ista aplikacija izgleda drugačije u zavisnosti od razloga zbog kog je pravite:
- Naplata klijentima. Sati po klijentu, cena po osobi ili projektu i čist izvoz za račune. Najvažnije su tačnost i revizijski trag.
- Obračun zarada za zaposlene po satu. Prijava i odjava, pauze, pravila za prekovremeni rad i odobrenje menadžera. Važe lokalna pravila o radu, pa proverite koje evidencije morate da čuvate.
- Razumevanje gde odlazi vreme. Lični ili timski uvid, procene naspram stvarnog. Brzina unosa je važnija od tokova odobravanja.
Izaberite jedno kao glavni posao za prvu verziju. Tracker za naplatu freelancera i sat smene u magacinu dele tajmer i gotovo ništa drugo.
Šta aplikacija treba da ima
Podaci
| Tabela | Ključna polja |
|---|---|
| Klijenti | Naziv, podrazumevana cena po satu, aktivan da/ne |
| Projekti | Klijent, naziv, budžet u satima (opciono), podrazumevano naplativ da/ne |
| Zadaci ili kategorije | Projekat, naziv (dizajn, sastanci, podrška), na početku opciono |
| Unosi vremena | Osoba, projekat, zadatak, vreme početka, vreme završetka, trajanje, beleška, naplativ da/ne, status (nacrt, poslato, odobreno), fakturisano da/ne |
| Osobe | Ime, e-pošta, uloga, cena troška ili cena naplate |
Na svakom unosu čuvajte vreme početka i kraja i iz njih računajte trajanje. Unosi upisani kao „2h 15min” bez vremena mogu da čuvaju samo trajanje, ali moraju da imaju datum.
Stranice
- Tajmer i danas: veliko dugme za start i zaustavljanje, izbor projekta i unosi za danas ispod.
- Nedeljni prikaz: mreža sa projektima niz levu ivicu i danima preko, gde ljudi odmah upisuju sate. Mnogi više vole ovo od tajmera.
- Izveštaji: sati po klijentu, projektu i osobi za izabrani period, sa podelom na naplative i nenaplative i izvozom u CSV.
- Administracija: upravljanje klijentima, projektima, osobama i cenama.
Dozvole
Pre gradnje zapišite ko šta sme da radi:
- Ljudi vide i menjaju svoje unose.
- Menadžeri vide unose svog tima i odobravaju nedelje.
- Samo administratori menjaju cene, i po mogućstvu samo administratori uopšte vide cene.
- Niko ne menja unos kad je odobren ili fakturisan, osim ako ga administrator ponovo ne otvori.
Baš zato pravilo izveštaji ostaju pouzdani. Naš vodič o dodavanju prijave u aplikaciju pokriva prijavljivanje, a kontrola pristupa zasnovana na ulogama pokriva uloge.
Odluke i kompromisi
Tajmer, ručni unos ili oboje
Tajmeri su tačni kad ljudi ne zaborave da ih pokrenu, a to nije uvek tako. Ručni unos je brz za ljude koji popunjavaju nedelju u petak. Većini timova treba oboje, plus način da se unos tajmera izmeni naknadno. Ako pravite samo jedno, pravite nedeljnu mrežu: jednostavnija je i pokriva slučaj kad je neko zaboravio da pokrene tajmer.
Gde živi aktivan tajmer
Tajmer koji broji u pregledaču gubi sve kad se kartica zatvori. Kad neko pritisne start, sačuvajte vreme početka u bazi podataka, a proteklo vreme prikazujte oduzimanjem od sada. Tajmer tada radi i posle osvežavanja, na laptopu i telefonu. Odlučite da li jedna osoba može da ima dva tajmera istovremeno. Obično je odgovor ne: pokretanje novog zaustavlja stari.
Zaokruživanje
Uobičajena pravila su zaokruživanje svakog unosa na najbliži 6, 15 ili 30 minuta. Tačna vremena čuvajte u bazi, a zaokruživanje primenjujte samo u izveštajima i računima. Prikažite oba broja u izveštajima da nikog ne iznenadi.
Zaključavanje i odobravanja
Bez zaključavanja, sati naplaćeni prošlog meseca mogu da se promene posle slanja računa. Jednostavan model: ljudi pošalju nedelju, menadžer je odobri, a odobreni unosi postaju samo za čitanje. Ako fakturišete iz aplikacije, označite unose kao fakturisane da ne mogu dvaput da se naplate.
Vremenske zone i ponoć
Vremena čuvajte u UTC i prikazujte u vremenskoj zoni osobe. Odlučite kom danu pripada unos koji traje od 23:00 do 01:00. Uobičajen odgovor je dan kad je počeo.
Prvi prompt koji radi
Napravi aplikaciju za praćenje vremena za dizajnerski studio sa šest osoba. Podaci: klijenti (naziv, cena po satu), projekti (klijent, naziv, sati budžeta) i unosi vremena (osoba, projekat, početak, kraj, beleška, naplativo da/ne, status nacrt/poslato/odobreno). Stranice: stranica Danas sa tajmerom za start i zaustavljanje i izborom projekta, koji vreme početka čuva u bazi tako da tajmer preživi osvežavanje; stranica Nedelja sa projektima kao redovima i danima od ponedeljka do nedelje kao kolonama, gde ljudi mogu direktno da upisuju sate; stranica Izveštaji sa satima po klijentu, projektu i osobi za izabrani period, podeljeno na naplative i nenaplative, sa izvozom u CSV; i stranica Administracija za klijente, projekte i osobe. Po osobi može da radi samo jedan tajmer. Odobreni unosi se ne mogu menjati. Vremena čuvaj u UTC i prikazuj u vremenskoj zoni korisnika. Čist, brz dizajn prilagođen tastaturi.
Prompt imenuje tabele, stranice, ponašanje tajmera i pravilo zaključavanja, a to su stvari koje bi AI inače pogađao.
Koraci izgradnje
- Prvo projekti i ručni unosi. Klijenti, projekti, obrazac za dodavanje unosa i lista. Proverite da zbirovi tačno stižu.
- Tajmer. Start, stop, jedan aktivan tajmer po osobi, sačuvano vreme početka. Testirajte tako što pokrenete tajmer, zatvorite karticu i ponovo je otvorite.
- Nedeljna mreža. Upis sati u ćeliju kreira ili menja unos.
- Prijava i uloge. Dodajte ih pre nego što pravi ljudi počnu da koriste aplikaciju, da niko slučajno ne vidi cene ili tuđe unose.
- Slanje i odobravanje. Nedeljno slanje, odobravanje menadžera, samo za čitanje posle odobravanja.
- Izveštaji i izvoz. Period, grupisanje, podela na naplativo, CSV.
- Cene i veza sa fakturisanjem ako naplaćujete klijentima. Pravljenje računa držite u posebnom koraku ili aplikaciji; pogledajte kako napraviti aplikaciju za fakturisanje.
- Testirajte granične slučajeve. Unos preko ponoći, nedelja promene sata, dva tajmera pokrenuta sa dva uređaja, izmena odobrenog unosa.
Česte greške
- Brojanje vremena samo u pregledaču. Radi u demu, a u stvarnoj upotrebi gubi sate.
- Zaokruživanje sačuvanih vrednosti. Tačno vreme nikad ne možete ponovo da dobijete.
- Bez zaključavanja odobrenih nedelja. Izveštaji prestanu da se poklapaju sa računima.
- Svi vide tuđe cene. Sakrijte cene po ulozi od prvog dana.
- Previše obaveznih polja. Ako beleženje vremena traje duže od nekoliko sekundi, ljudi prestanu da ga rade, a podaci postanu fikcija. Zadatak i belešku na početku učinite opcionim.
- Pravljenje punog menadžera projekata unutar trackera. Projekte držite kao proste oznake. Ako su vam potrebni zadaci, table i rokovi, to je alat za upravljanje projektima, zaseban posao.
Kada je gotov tracker bolji izbor
Ako vašem timu trebaju tajmer, nedeljni prikaz i izveštaji, namenski proizvodi za praćenje vremena to već dobro rade. Dolaze i sa stvarima koje zahtevaju pravi rad za gradnju: aplikacijama za računar i telefon, otkrivanjem neaktivnosti, integracijama sa kalendarom i alatima i podsetnicima za popunjavanje evidencija. Za obračun zarada po satu, alat napravljen za to pouzdanije će obraditi pauze, prekovremeni rad i evidenciju od prve verzije prilagođene aplikacije.
Gradite sopstvenu kad vaša pravila ne odgovaraju, kad želite da sati budu povezani sa podacima koje već čuvate (poslovi, radni nalozi, retainer ugovori, računi), kad cena po korisniku u velikom timu postane visoka ili kad je praćenje vremena jedan deo većeg internog alata. Naš vodič o gradnji nasuprot kupovini softvera objašnjava taj kompromis, a ako su vam sati trenutno u zajedničkoj tabeli, pogledajte kako pretvoriti tabelu u aplikaciju.
Izgradnja uz Mythex
Na Mythex-u opišete tracker u četu, a agent ga gradi u živom pregledu. Dodaje namensku Postgres bazu podataka kad unosi treba da se čuvaju, a to možete zatražiti direktno ili ukucati /database. Primer za interni alat u dokumentaciji predlaže da za prvu verziju izaberete jedan bolan korak, što ovde odgovara: počnite sa unosima i nedeljnom mrežom, pa dodajte tajmere i odobravanja.
Prijavu za vaš tim dodajete sopstvenim pristupom za autentifikaciju (recept za dodavanje prijave). Mythex nalozi su za ljude koji prave aplikaciju, a ne za ljude koji je koriste. Kad osnovni tok radi, /test zamoli agenta da prođe kroz pregled (pokrene tajmer, doda unos, napravi izveštaj) i javi šta ne radi. Za vizuelnu polaznu tačku pogledajte šablone aplikacija.
Pitanja
Koje funkcije treba da ima aplikacija za praćenje vremena?
Spisak klijenata i projekata, tajmer za start i zaustavljanje, način da ručno dodate ili ispravite unose, nedeljni pregled evidencije i izveštaj o satima po projektu i osobi. Odobravanja, cene po satu i izvozi dolaze posle.
Kako da tajmer ne izgubi vreme kad se pregledač zatvori?
Sačuvajte vreme početka u bazi podataka čim tajmer krene, a trajanje računajte od tog sačuvanog vremena. Tada zatvaranje kartice, osvežavanje ili prebacivanje na drugi uređaj ne gube ništa.
Da li vreme treba zaokruživati?
Čuvajte tačna vremena početka i kraja, a zaokruživanje primenjujte samo u izveštajima i računima. Tako pravilo zaokruživanja možete kasnije da promenite bez prepisivanja istorije.
Da li vredi praviti sopstveni alat za praćenje vremena?
Obično samo ako su vaša pravila neobična ili želite da sate povežete sa drugim podacima koje već čuvate, kao što su poslovi, klijenti ili računi. Za obične tajmere i izveštaje postojeći alat je jeftiniji i brži.