Időkövető app készítése: időzítők, munkaidő-nyilvántartás és jelentések
Az időkövető app rögzíti, ki mikor, mennyi ideig dolgozott, és az az idő elszámolható-e. Ehhez kellenek az ügyfelek és projektek, amelyekhez az időt rendeled, egy időzítő, amely túléli a bezárt böngészőfület, egy mód a bejegyzések kézi hozzáadására és javítására, heti munkaidő-nyilvántartás, és jelentések, amelyek a nyers bejegyzésekből összesítést készítenek. Egy AI-s app-készítő egy világos prompt után működő első verziót ad. A döntések, amelyek számítanak, szabályokról szólnak: kerekítés, ki mit szerkeszthet, mikor zárul le egy hét, és mi számít elszámolhatónak.
Döntsd el, mire használod az időt
Ugyanaz az app más lesz attól függően, mi az oka:
- Ügyfelek számlázása. Órák ügyfelenként, díj személyenként vagy projektenként, és tiszta export a számlákhoz. Itt a pontosság és a naplózhatóság a legfontosabb.
- Órabéres munkatársak bére. Bejelentkezés és kijelentkezés, szünetek, túlórák szabályai, vezetői jóváhagyás. Helyi munkajogi szabályok érvényesek, ezért ellenőrizd, milyen nyilvántartást kötelező vezetned.
- Annak megértése, hová megy az idő. Személyes vagy csapatbeli betekintés, becslés és tényleges idő összevetése. Itt a bejegyzés gyorsasága fontosabb, mint a jóváhagyási folyamat.
Válassz egy fő célt az első verzióhoz. Egy szabadúszó számlázási követője és egy raktári műszakóra közös időzítőn kívül alig osztozik valamin.
Mit kell tudnia az appnak
Adatok
| Tábla | Fontos mezők |
|---|---|
| Ügyfelek | Név, alapértelmezett órabér, aktív igen/nem |
| Projektek | Ügyfél, név, költségvetés órában (opcionális), alapértelmezetten elszámolható igen/nem |
| Feladatok vagy kategóriák | Projekt, név (tervezés, megbeszélés, ügyfélszolgálat) – az elején opcionális |
| Időbejegyzések | Személy, projekt, feladat, kezdési idő, befejezési idő, időtartam, megjegyzés, elszámolható igen/nem, állapot (piszkozat, beküldve, jóváhagyva), számlázva igen/nem |
| Személyek | Név, e-mail, szerepkör, költségráta vagy számlázási ráta |
Minden bejegyzésnél tárold a kezdési és befejezési időt, és az időtartamot ezekből számold. A „2 óra 15 perc” formában kézzel bevitt bejegyzések csak az időtartamot tárolhatják idők nélkül, de a dátumot tartsd meg.
Oldalak
- Időzítő és mai nap: nagy indító-leállító gomb, projektválasztó, és alatta a mai bejegyzések.
- Heti nézet: rács, ahol a projektek lefelé, a napok pedig oldalra vannak, és az emberek közvetlenül ide írják be az órákat. Sokan ezt részesítik előnyben az időzítővel szemben.
- Jelentések: órák ügyfelenként, projektenként és személyenként egy dátumtartományra, elszámolható és nem elszámolható bontásban, CSV-exporttal.
- Admin: ügyfelek, projektek, személyek és díjak kezelése.
Jogosultságok
Az építés előtt írd le, ki mit tehet:
- Az emberek a saját bejegyzéseiket látják és szerkesztik.
- A vezetők látják csapatuk bejegyzéseit, és jóváhagyják a heteket.
- Csak az adminok módosíthatják a díjakat, és lehetőleg csak ők lássák azokat.
- Senki sem szerkeszthet egy bejegyzést, miután jóváhagyták vagy számlázták, hacsak egy admin újra nem nyitja.
Az utolsó szabály teszi megbízhatóvá a jelentéseket. A bejelentkezés hozzáadásáról szóló útmutató a bejelentkezési oldalt fedi le, a szerepkör-alapú hozzáférés-szabályozás pedig a szerepköröket.
Döntések és kompromisszumok
Időzítő, kézi bevitel vagy mindkettő
Az időzítő pontos, ha az emberek emlékeznek elindítani, ami nem mindig van így. A kézi bevitel gyors azoknak, akik pénteken töltik ki a hetüket. A legtöbb csapatnak mindkettő kell, plusz mód egy időzítős bejegyzés utólagos szerkesztésére. Ha csak egyet építesz, a heti rácsot építsd; egyszerűbb, és lefedi az elfelejtett indítás esetét.
Hol él a futó időzítő
A böngészőben számolt időzítő bezáráskor mindent elveszít. Amikor valaki elindítja, mentsd a kezdési időt az adatbázisba, és az eltelt időt a jelenből vonod le. Az időzítő így túléli a frissítéseket, laptopokat és telefonokat. Döntsd el, futhat-e egy személynek két időzítője egyszerre. Általában nem: új indítás leállítja a régit.
Kerekítés
Gyakori szabály, hogy minden bejegyzést a legközelebbi 6, 15 vagy 30 percre kerekítenek felfelé. A pontos időket tartsd meg az adatbázisban, és a kerekítést csak a jelentésekben és számlákon alkalmazd. A jelentésekben mutasd mindkét számot, hogy senki ne lepődjön meg.
Zárolás és jóváhagyás
Zárolás nélkül a múlt havi elszámolt órák változhatnak, miután a számla már kiment. Egyszerű modell: az emberek beküldik a hetet, a vezető jóváhagyja, és a jóváhagyott bejegyzések csak olvashatóvá válnak. Ha az appból számlázol, jelöld a bejegyzéseket számlázottként, hogy ne lehessen kétszer elszámolni őket.
Időzónák és éjfél
Az időt UTC-ben tárold, és a személy időzónájában jelenítsd meg. Döntsd el, melyik naphoz tartozik egy 23:00-tól 01:00-ig tartó bejegyzés. A szokásos válasz: amelyik napon elkezdődött.
Egy működő első prompt
Építs időkövető appot egy hatfős tervezőstúdiónak. Adatok: ügyfelek (név, órabér), projektek (ügyfél, név, költségvetés órában), és időbejegyzések (személy, projekt, kezdés, befejezés, megjegyzés, elszámolható igen/nem, állapot piszkozat/beküldve/jóváhagyva). Oldalak: egy Ma oldal indító-leállító időzítővel és projektválasztóval, amely a kezdési időt az adatbázisba menti, így az időzítő frissítés után is megmarad; egy Hét oldal, ahol a projektek a sorok, a hétfőtől vasárnapig tartó napok az oszlopok, és ide közvetlenül lehet órákat beírni; egy Jelentések oldal, amely dátumtartományra mutatja az órákat ügyfelenként, projektenként és személyenként, elszámolható és nem elszámolható bontásban, CSV-exporttal; és egy Admin oldal ügyfelekhez, projektekhez és személyekhez. Személyenként csak egy időzítő futhat. A jóváhagyott bejegyzések nem szerkeszthetők. Az időket UTC-ben tárold, és a felhasználó időzónájában mutasd. Tiszta, gyors, billentyűzetbarát dizájn.
Építési lépések
- Előbb a projektek és a kézi bejegyzések. Ügyfelek, projektek, űrlap bejegyzés hozzáadására, és lista. Ellenőrizd, hogy az összegek stimmelnek.
- Időzítő. Indítás, leállítás, személyenként egy futó időzítő, mentett kezdési idő. Teszteld: indíts időzítőt, zárd be a fület, majd nyisd meg újra.
- Heti rács. Egy cellába írt óra létrehoz vagy frissít egy bejegyzést.
- Bejelentkezés és szerepkörök. Még mielőtt valódi emberek használják, hogy senki véletlenül ne lássa a díjakat vagy mások bejegyzéseit.
- Beküldés és jóváhagyás. Heti beküldés, vezetői jóváhagyás, jóváhagyás után csak olvasható.
- Jelentések és export. Dátumtartomány, csoportosítás, elszámolható bontás, CSV.
- Díjak és számlázási csatlakozás, ha ügyfeleknek számlázol. A számlakészítést tartsd külön lépésben vagy appban; lásd: hogyan építs számlázó appot.
- Teszteld a szélső eseteket. Éjfélen átnyúló bejegyzés, nyári időszámítás-váltásos hét, két időzítő két eszközről indítva, jóváhagyott bejegyzés szerkesztése.
Gyakori hibák
- Az idő csak a böngészőben számolása. Működik a demóban, és valós használatban órákat veszít.
- A tárolt értékek kerekítése. A pontos időt soha nem kapod vissza.
- Nincs zárolás a jóváhagyott heteken. A jelentések nem fognak egyezni a számlákkal.
- Mindenki látja mindenki díjait. Szerepkör szerint rejtsd el a díjakat az első naptól.
- Túl sok kötelező mező. Ha az időrögzítés néhány másodpercnél tovább tart, az emberek abbahagyják, és az adatok fikcióvá válnak. Az elején a feladat és a megjegyzés legyen opcionális.
- Teljes projektmenedzser építése a követőbe. A projektek maradjanak egyszerű címkék. Ha feladatok, táblák és határidők kellenek, az projektmenedzsment eszköz, külön építési munka.
Mikor jobb egy kész időkövető
Ha a csapatodnak időzítő, heti nézet és jelentés kell, a dedikált időkövető termékek ezt már jól megoldják. Olyan dolgokat is hoznak, amelyek valódi munkát jelentenének: asztali és telefonos appokat, tétlenségészlelést, naptár- és eszközintegrációkat, és emlékeztetőket a kitöltetlen órákra. Órabéres bérszámfejtéshez az erre épített eszköz biztonságosabban kezeli a szüneteket, a túlórát és a nyilvántartást, mint egy első verziójú egyedi app.
Saját építs, ha a szabályaid nem illenek bele, ha az órákat a már meglévő adataidhoz (munkák, munkarendelések, megbízások, számlák) akarod kötni, ha a személyenkénti díjazás egy nagy csapatnál sokba kerül, vagy ha az időkövetés egy nagyobb belső eszköz része. A szoftver építés vagy vásárlás útmutató a kompromisszumot járja körbe. Ha az óráid most egy közös táblázatban vannak, lásd: hogyan alakíts táblázatot appá.
Építés a Mythexszel
A Mythexen chatben írod le a követőt, az ágens pedig az élő előnézetben építi meg. Ha a bejegyzéseket menteni kell, dedikált Postgres adatbázist ad a projekthez, és ezt közvetlenül kérheted vagy beírhatod: /database. A dokumentáció belső eszköz használati esete azt javasolja, hogy az első verzióhoz egy fájdalmas lépést válassz – ez itt is illik: kezdd a bejegyzésekkel és a heti rácsszal, aztán jönnek az időzítők és a jóváhagyások.
A csapatod bejelentkezését a saját hitelesítési módszereddel adod hozzá (bejelentkezés-recept). A Mythex-fiókok az építőknek szólnak, nem az app használóinak. Amint a fő folyamat működik, a /test paranccsal az ágens végigkattint az előnézetben (időzítő indítása, bejegyzés felvétele, jelentés futtatása), és jelzi, mi törik el. Vizuális kiindulópontért böngészd az app-sablonokat.
Kérdések
Milyen funkciókra van szükség egy időkövető appban?
Ügyfelek és projektek listája, indítható-leállítható időzítő, kézi bejegyzés hozzáadásának vagy javításának módja, heti munkaidő-nyilvántartó nézet, és jelentés személyenként és projektenként. A jóváhagyás, az elszámolási díjak és az exportálás ezek után jönnek.
Hogyan akadályozhatom meg, hogy az időzítő elveszítse az időt, amikor a böngésző bezárul?
Mentsd az adatbázisba a kezdési időt abban a pillanatban, amikor az időzítő elindul, és az aktuális időtartamot ebből a mentett időből számold. Így a fül bezárása, az oldal frissítése vagy az eszközváltás nem veszít el semmit.
Kerekíteni kell az időt?
A pontos kezdési és befejezési időt tárold, és a kerekítést csak a jelentésekben és számlákon alkalmazd. Így később is módosíthatod a kerekítési szabályt anélkül, hogy a múltat át kellene írni.
Érdemes saját időkövetőt építeni?
Általában csak akkor, ha a szabályaid szokatlanok, vagy az órákat más adataidhoz szeretnéd kötni, például munkákhoz, ügyfelekhez vagy számlákhoz. Egyszerű időzítőkhöz és jelentésekhez a meglévő eszköz olcsóbb és gyorsabb.