Si të ndërtoni një aplikacion për gjurmimin e kohës: kronometra, fletët e orëve dhe raportet
Një aplikacion për gjurmimin e kohës regjistron kush ka punuar mbi çfarë, për sa kohë, dhe nëse ajo kohë mund të faturohet. Për ta ndërtuar të duhen klientë dhe projekte ndaj të cilëve të gjurmohet koha, një kronometër që mbijeton kur mbyllet skeda e shfletuesit, një mënyrë për të shtuar dhe korrigjuar hyrje me dorë, një fletë orësh javore, dhe raporte që e kthejnë çdo hyrje të papërpunuar në totale. Një ndërtues aplikacionesh me AI mund të prodhojë një version të parë që funksionon nga një kërkesë e qartë. Vendimet që kanë rëndësi janë për rregullat: rrumbullakimi, kush mund të ndryshojë çfarë, kur mbyllet një javë, dhe çfarë konsiderohet e faturueshme.
Vendos për çfarë e gjurmon kohën
I njëjti aplikacion duket ndryshe sipas arsyes pas tij:
- Faturimi i klientëve. Orë për klient, një tarifë për person ose projekt, dhe një eksport i pastër për faturat. Saktësia dhe gjurma e auditimit janë më të rëndësishmet.
- Pagat për punëtorë me orë. Hyrje dhe dalje, pushime, rregulla për orët shtesë, dhe miratim nga menaxheri. Zbatohen rregullat lokale të punës, kështu që kontrollo çfarë regjistrimesh je i detyruar të mbash.
- Të kuptuarit se ku shkon koha. Kuptim personal ose i ekipit, vlerësime kundrejt realitetit. Shpejtësia e regjistrimit ka më shumë rëndësi se rrjedhat e miratimit.
Zgjidh një si punë kryesore për versionin e parë. Një gjurmues faturimi për një freelancer dhe një ora e turnit për një magazinë ndajnë një kronometër dhe pak gjë tjetër.
Çfarë i duhet aplikacionit
Të dhënat
| Tabela | Fushat kryesore |
|---|---|
| Klientët | Emri, tarifa e parazgjedhur me orë, aktiv po/jo |
| Projektet | Klienti, emri, buxheti në orë (opsional), i faturueshëm si parazgjedhje po/jo |
| Detyrat ose kategoritë | Projekti, emri (dizajn, takime, mbështetje) — opsionale në fillim |
| Hyrjet e kohës | Personi, projekti, detyra, koha e fillimit, koha e mbarimit, kohëzgjatja, shënimi, i faturueshëm po/jo, statusi (draft, i dërguar, i miratuar), i faturuar po/jo |
| Personat | Emri, email, roli, tarifa e kostos ose tarifa e faturimit |
Ruaj kohën e fillimit dhe të mbarimit në çdo hyrje dhe nxirr kohëzgjatjen prej tyre. Hyrjet e shkruara si "2h 15m" pa kohë mund të ruajnë vetëm kohëzgjatjen, por mbaj një datë.
Faqet
- Kronometri dhe sot: një buton i madh fillo/ndalo, një zgjedhës projekti, dhe hyrjet e sotme poshtë tij.
- Pamja javore: një rrjetë me projektet në anë dhe ditët përgjatë, ku njerëzit shkruajnë orët direkt. Shumë njerëz e preferojnë këtë ndaj kronometrave.
- Raportet: orët sipas klientit, projektit dhe personit për një interval datash, me ndarjen e faturueshme dhe jo-faturueshme, dhe eksport CSV.
- Administrimi: menaxho klientët, projektet, personat dhe tarifat.
Lejet
Shkruaj para ndërtimit kush mund të bëjë çfarë:
- Njerëzit shohin dhe redaktojnë hyrjet e tyre.
- Menaxherët shohin hyrjet e ekipit të tyre dhe miratojnë javët.
- Vetëm administratorët ndryshojnë tarifat, dhe idealisht vetëm administratorët i shohin fare.
- Askush nuk redakton një hyrje pasi është miratuar ose faturuar, përveç nëse një administrator e rihap.
Ky rregull i fundit është ai që i bën raportet të besueshme. Udhëzuesi ynë për shtimin e hyrjes në aplikacionin tënd mbulon anën e hyrjes, dhe kontrolli i aksesit me role mbulon rolet.
Vendime dhe kompromise
Kronometër, hyrje manuale, apo të dyja
Kronometrat janë të sakta kur njerëzit mbajnë mend t'i nisin, gjë që jo gjithmonë ndodh. Hyrja manuale është e shpejtë për njerëzit që e plotësojnë javën e tyre të premten. Shumica e ekipeve kanë nevojë për të dyja, dhe një mënyrë për të redaktuar një hyrje kronometri më pas. Nëse ndërton vetëm një, ndërto rrjetën javore; është më e thjeshtë dhe mbulon rastin "harrova ta nisja".
Ku jeton kronometri në punë
Një kronometër që numëron në shfletues humb gjithçka kur mbyllet skeda. Ruaj kohën e fillimit në bazën e të dhënave kur dikush shtyp fillo, dhe shfaq kohën e kaluar duke e zbritur nga tani. Kronometri atëherë vazhdon të rrjedhë përmes rifreskimeve, laptopëve dhe telefonave. Vendos nëse një person mund të ketë dy kronometra njëkohësisht. Zakonisht përgjigjja është jo: nisja e një të riu ndalon të vjetrin.
Rrumbullakimi
Rregullat e zakonshme janë rrumbullakimi i çdo hyrjeje lart në 6, 15 ose 30 minutat më të afërta. Mbaj kohët e sakta në bazën e të dhënave dhe apliko rrumbullakimin vetëm në raporte dhe fatura. Shfaq të dy numrat në raporte, që askush të mos habitet.
Kyçja dhe miratimet
Pa kyçje, orët e faturuara të muajit të kaluar mund të ndryshojnë pasi fatura është dërguar. Një model i thjeshtë: njerëzit dërgojnë një javë, një menaxher e miraton, dhe hyrjet e miratuara bëhen vetëm për lexim. Nëse faturon nga aplikacioni, shëno hyrjet si të faturuara që të mos faturohen dy herë.
Zonat kohore dhe mesnata
Ruaj kohët në UTC dhe shfaqi në zonën kohore të personit. Vendos cilës ditë i përket një hyrje që shkon nga 23:00 deri në 01:00. Përgjigjja e zakonshme është dita kur filloi.
Një kërkesë e parë që funksionon
Ndërto një aplikacion për gjurmimin e kohës për një studio dizajni me gjashtë persona. Të dhënat: klientët (emri, tarifa me orë), projektet (klienti, emri, orët e buxhetit), dhe hyrjet e kohës (personi, projekti, fillimi, mbarimi, shënimi, i faturueshëm po/jo, statusi draft/i dërguar/i miratuar). Faqet: një faqe Sot me një kronometër fillo/ndalo dhe zgjedhës projekti që ruan kohën e fillimit në bazën e të dhënave, në mënyrë që kronometri të mbijetojë një rifreskim; një faqe Javë me projektet si rreshta, të hënat deri të dielat si kolona, ku njerëzit mund të shkruajnë orët direkt; një faqe Raportesh që tregon orët sipas klientit, projektit dhe personit për një interval datash, të ndara në të faturueshme dhe jo-faturueshme, me eksport CSV; dhe një faqe Administrimi për klientët, projektet dhe personat. Vetëm një kronometër mund të ecë për person. Hyrjet e miratuara nuk mund të redaktohen. Ruaj kohët në UTC dhe shfaqi në zonën kohore të përdoruesit. Dizajn i pastër, i shpejtë dhe i lehtë për tastierën.
Kërkesa emërton tabelat, faqet, sjelljen e kronometrit dhe rregullin e kyçjes, gjërat që një AI do t'i merrte me supozim.
Hapat e ndërtimit
- Projektet dhe hyrjet manuale të para. Klientët, projektet, një formular për të shtuar një hyrje, dhe një listë. Sigurohu që totalet mblidhen saktë.
- Kronometri. Fillo, ndalo, një kronometër aktiv për person, koha e ruajtur e fillimit. Provo duke nisur një kronometër, duke mbyllur skedën dhe duke e hapur përsëri.
- Rrjeta javore. Shkrimi i orëve në një qelizë krijon ose përditëson një hyrje.
- Hyrja dhe rolet. Shtoji para se ta përdorin njerëz reale, që askush të mos shohë tarifat ose hyrjet e të tjerëve pa dashje.
- Dorëzimi dhe miratimi. Dorëzimi javor, miratimi nga menaxheri, vetëm lexim pas miratimit.
- Raportet dhe eksporti. Interval datash, grupimi, ndarja e faturueshme, CSV.
- Tarifat dhe lidhjet me faturimin nëse faturon klientët. Mbaj krijimin e faturave në një hap ose aplikacion të veçantë; shih si të ndërtosh një aplikacion faturimi.
- Testo rastet ekstreme. Një hyrje që kalon mesnatën, një javë me ndryshimin e orës verore, dy kronometra të nisur nga dy pajisje, redaktimi i një hyrjeje të miratuar.
Gabimet e zakonshme
- Numërimi i kohës vetëm në shfletues. Funksionon në demo dhe humb orë në përdorimin real.
- Rrumbullakimi i vlerave të ruajtura. Nuk mund ta marrësh kurrë kohën e saktë përsëri.
- Pa kyçje për javët e miratuara. Raportet nuk përputhen më me faturat.
- Të gjithë shohin tarifat e të gjithëve. Fshih tarifat sipas rolit që nga dita e parë.
- Shumë fusha të detyrueshme. Nëse regjistrimi i kohës merr më shumë se disa sekonda, njerëzit pushojnë ta bëjnë dhe të dhënat bëhen fiksion. Bëji detyrën dhe shënimin opsionale në fillim.
- Ndërtimi i një menaxheri të plotë projektesh brenda gjurmuesit. Mbaj projektet si etiketa të thjeshta. Nëse të duhen detyra, bordo dhe afate, ai është një mjet menaxhimi projektesh, një ndërtim i veçantë.
Kur një gjurmues i gatshëm është zgjedhja më e mirë
Nëse ekipi yt ka nevojë për kronometër, pamje javore dhe raporte, produktet e dedikuara për gjurmimin e kohës e bëjnë këtë mirë. Ata vijnë edhe me gjëra që kërkojnë punë të vërtetë për t'u ndërtuar: aplikacione për desktop dhe telefon, zbulim të papunësisë, integrime me kalendarin dhe mjete të tjera, dhe përkujtues për plotësimin e fletëve të orëve. Për pagat me orë, një mjet i ndërtuar për këtë do të trajtojë më sigurt pauzat, orët shtesë dhe mbajtjen e regjistrimeve sesa një aplikacion i personalizuar në versionin e parë.
Ndërto vetë kur rregullat e tua nuk përshtaten, kur dëshiron orët të lidhen me të dhëna që ke tashmë (punë, urdhra pune, marrëveshje mbajtjeje, fatura), kur çmimi për ulëse në një ekip të madh shton, ose kur gjurmimi i kohës është një pjesë e një mjeti më të madh të brendshëm. Ndërtimi kundrejt blerjes së softuerit shqyrton kompromisin, dhe nëse orët e tua jetojnë tani në një fletë të përbashkët, shih si të kthesh një fletëllogaritëse në aplikacion.
Ndërtimi me Mythex
Në Mythex e përshkruan gjurmuesin në chat dhe agjenti e ndërton në një pamje paraprake live. Shton një bazë të dhënash Postgres të dedikuar kur hyrjet duhet të ruhen, dhe mund ta kërkosh këtë drejtpërdrejt ose të shkruash /database. Rasti i përdorimit të mjeteve të brendshme në dokumentacion sugjeron zgjedhjen e një hapi të dhimbshëm për versionin e parë, që këtu përshtatet: fillo me hyrjet dhe rrjetën javore, pastaj shto kronometrat dhe miratimet.
Hyrja për ekipin tënd është diçka që e shton me qasjen tënde të autentikimit (recetë për shtimin e hyrjes). Llogaritë e Mythex janë për ata që ndërtojnë, jo për ata që përdorin aplikacionin tënd. Kur rrjedha bazë funksionon, /test e bën agjentin të klikojë nëpër pamjen paraprake (nis një kronometër, shto një hyrje, nxirr një raport) dhe të raportojë çfarë prishet. Për një pikë nisjeje vizuale, shfleto shabllonet e aplikacioneve.
Pyetje
Çfarë veçorish duhet një aplikacion për gjurmimin e kohës?
Një listë klientësh dhe projektesh, një kronometër fillo/ndalo, një mënyrë për të shtuar ose korrigjuar hyrje me dorë, një pamje javore të fletës së orëve, dhe një raport të orëve sipas projektit dhe personit. Miratimet, tarifat e faturueshme dhe eksportet vijnë më pas.
Si e parandaloj humbjen e kohës së kronometrit kur mbyllet shfletuesi?
Ruaj kohën e fillimit në bazën e të dhënave në momentin kur fillon kronometri, dhe llogarit kohëzgjatjen që po rrjedh nga ajo kohë e ruajtur. Kështu mbyllja e skedës, rifreskimi ose ndryshimi i pajisjes nuk humb asgjë.
A duhet të rrumbullakosen orët?
Ruaj kohët e sakta të fillimit dhe mbarimit dhe apliko rrumbullakimin vetëm në raporte dhe fatura. Kështu mund të ndryshosh rregullin e rrumbullakimit më vonë pa rishkruar historinë.
A vlen të ndërtoj gjurmuesin tim të kohës?
Zakonisht vetëm nëse rregullat e tua janë të pazakonta ose dëshiron orët të lidhen me të dhëna të tjera që ke tashmë, si punët, klientët ose faturat. Për kronometra të thjeshtë dhe raporte, një gjurmues ekzistues është më i lirë dhe më i shpejtë.