Cara Bina Apl Penjejak Masa: Pemasa, Lembaran Masa dan Laporan
Apl penjejak masa merekodkan siapa bekerja pada apa, untuk berapa lama, dan sama ada masa itu boleh dibilang. Untuk membina satu, anda perlukan pelanggan dan projek untuk dijejaki, pemasa yang kekal walaupun tab pelayar ditutup, cara menambah dan membetulkan entri secara manual, lembaran masa mingguan, dan laporan yang menukar entri mentah kepada jumlah. Pembina apl AI boleh menghasilkan versi pertama yang berfungsi daripada satu arahan yang jelas. Keputusan yang penting ialah tentang peraturan: pembundaran, siapa yang boleh mengedit apa, bila seminggu dikunci, dan apa yang dikira sebagai boleh dibilang.
Tentukan untuk apa anda menjejak masa
Apl yang sama kelihatan berbeza bergantung pada sebab di sebaliknya:
- Membilang pelanggan. Jam bagi setiap pelanggan, kadar bagi setiap orang atau projek, dan eksport yang bersih untuk invois. Ketepatan dan jejak audit paling penting.
- Gaji untuk pekerja upahan. Clock masuk dan keluar, rehat, peraturan kerja lebih masa, dan pengesahan pengurus. Peraturan buruh tempatan terpakai, jadi semak rekod apa yang wajib anda simpan.
- Memahami ke mana masa pergi. Wawasan peribadi atau pasukan, anggaran berbanding sebenar. Kelajuan memasukkan data lebih penting daripada aliran kelulusan.
Pilih satu sebagai tugas utama bagi versi pertama. Penjejak masa untuk freelancer dan jam tukar syif untuk gudang berkongsi pemasa dan sedikit lagi.
Apa yang diperlukan apl itu
Data
| Jadual | Medan utama |
|---|---|
| Pelanggan | Nama, kadar jam lalai, aktif ya/tidak |
| Projek | Pelanggan, nama, bajet dalam jam (pilihan), boleh dibilang secara lalai ya/tidak |
| Tugas atau kategori | Projek, nama (reka bentuk, mesyuarat, sokongan) — pilihan pada peringkat awal |
| Entri masa | Orang, projek, tugas, masa mula, masa tamat, tempoh, nota, boleh dibilang ya/tidak, status (draf, dihantar, diluluskan), telah diinvois ya/tidak |
| Orang | Nama, e-mel, peranan, kadar kos atau kadar bil |
Simpan masa mula dan masa tamat pada setiap entri dan kira tempoh daripadanya. Entri yang ditaip sebagai "2j 15m" tanpa masa boleh menyimpan tempoh sahaja, tetapi simpan tarikhnya.
Pemasa
- Pemasa dan hari ini: butang mula/henti yang besar, pemilih projek, dan entri hari ini di bawahnya.
- Paparan minggu: grid dengan projek di sebelah kiri dan hari merentasi, di mana orang menaip jam terus. Ramai lebih suka ini daripada pemasa.
- Laporan: jam mengikut pelanggan, projek dan orang bagi julat tarikh, dengan pembahagian boleh dibilang dan tidak boleh dibilang, serta eksport CSV.
- Pentadbir: urus pelanggan, projek, orang dan kadar.
Kebenaran
Tulis dahulu siapa yang boleh berbuat apa sebelum membina:
- Orang melihat dan mengedit entri mereka sendiri.
- Pengurus melihat entri pasukan mereka dan meluluskan minggu.
- Hanya pentadbir menukar kadar, dan sebaik-baiknya hanya pentadbir yang melihatnya.
- Tiada siapa mengedit entri selepas ia diluluskan atau diinvois, melainkan pentadbir membukanya semula.
Peraturan terakhir itulah yang menjadikan laporan boleh dipercayai. Panduan kami tentang menambah log masuk pada apl anda meliputi bahagian log masuk, dan kawalan akses berasaskan peranan meliputi peranan.
Keputusan dan pertukaran
Pemasa, kemasukan manual, atau kedua-duanya
Pemasa tepat apabila orang ingat untuk memulakannya, dan itu tidak selalu berlaku. Kemasukan manual pantas bagi orang yang mengisi minggu mereka pada hari Jumaat. Kebanyakan pasukan memerlukan kedua-duanya, dan cara untuk mengedit entri pemasa selepas kejadian. Jika anda hanya membina satu, bina grid minggu; ia lebih mudah dan meliputi kes terlupa mulakan.
Di mana pemasa yang sedang berjalan disimpan
Pemasa yang mengira dalam pelayar kehilangan segalanya apabila tab ditutup. Simpan masa mula ke pangkalan data apabila seseorang menekan mula, dan tunjukkan masa berlalu dengan menolak masa itu daripada sekarang. Pemasa kemudian terus berjalan merentasi muat semula, komputer riba dan telefon. Tentukan sama ada seorang boleh menjalankan dua pemasa serentak. Biasanya jawapannya tidak: memulakan yang baharu menghentikan yang lama.
Pembundaran
Peraturan biasa ialah membundarkan setiap entri ke atas kepada 6, 15 atau 30 minit yang terdekat. Simpan masa tepat dalam pangkalan data dan gunakan pembundaran hanya dalam laporan dan invois. Tunjukkan kedua-dua nombor dalam laporan supaya tiada siapa terkejut.
Penguncian dan kelulusan
Tanpa kunci, jam yang telah diinvois bulan lepas boleh berubah selepas invois dihantar. Model mudah: orang menghantar seminggu, pengurus meluluskannya, dan entri yang diluluskan menjadi baca sahaja. Jika anda menginvois dari dalam apl, tandakan entri sebagai telah diinvois supaya ia tidak boleh dibilang dua kali.
Zon waktu dan tengah malam
Simpan masa dalam UTC dan paparkannya dalam zon waktu orang itu. Tentukan hari mana entri yang berjalan dari 23:00 hingga 01:00 tergolong. Jawapan biasanya ialah hari ia bermula.
Arahan pertama yang berfungsi
Bina apl penjejak masa untuk studio reka bentuk enam orang. Data: pelanggan (nama, kadar jam), projek (pelanggan, nama, jam bajet), dan entri masa (orang, projek, mula, tamat, nota, boleh dibilang ya/tidak, status draf/dihantar/diluluskan). Halaman: halaman Hari Ini dengan pemasa mula/henti dan pemilih projek yang menyimpan masa mula ke pangkalan data supaya pemasa kekal selepas muat semula; halaman Minggu dengan projek sebagai baris, Isnin hingga Ahad sebagai lajur, di mana orang boleh menaip jam terus; halaman Laporan yang menunjukkan jam mengikut pelanggan, projek dan orang bagi julat tarikh, dibahagi kepada boleh dibilang dan tidak boleh dibilang, dengan eksport CSV; dan halaman Pentadbir untuk pelanggan, projek dan orang. Hanya satu pemasa boleh berjalan bagi setiap orang. Entri yang diluluskan tidak boleh diedit. Simpan masa dalam UTC dan paparkannya dalam zon waktu pengguna. Reka bentuk yang bersih, pantas dan mesra papan kekunci.
Langkah membina
- Projek dan kemasukan manual dahulu. Pelanggan, projek, borang untuk menambah entri, dan senarai. Pastikan jumlahnya betul.
- Pemasa. Mula, henti, satu pemasa berjalan bagi setiap orang, masa mula tersimpan. Uji dengan memulakan pemasa, menutup tab dan membukanya semula.
- Grid minggu. Menaip jam dalam sel mencipta atau mengemas kini entri.
- Log masuk dan peranan. Tambahkannya sebelum orang sebenar menggunakannya, supaya tiada siapa melihat kadar atau entri orang lain secara tidak sengaja.
- Hantar dan lulus. Penghantaran mingguan, kelulusan pengurus, baca sahaja selepas diluluskan.
- Laporan dan eksport. Julat tarikh, pengelompokan, pembahagian boleh dibilang, CSV.
- Kadar dan cangkuk invois jika anda membilang pelanggan. Simpan penciptaan invois dalam langkah atau aplikasi berasingan; lihat cara membina apl invois.
- Uji kes tepi. Entri merentasi tengah malam, minggu yang bertukar waktu siang, dua pemasa dimulakan dari dua peranti, dan mengedit entri yang telah diluluskan.
Kesilapan lazim
- Mengira masa dalam pelayar sahaja. Ia berfungsi dalam demo dan kehilangan jam dalam penggunaan sebenar.
- Membundarkan nilai tersimpan. Anda tidak akan dapat masa tepat semula.
- Tiada kunci pada minggu yang diluluskan. Laporan berhenti sepadan dengan invois.
- Semua orang melihat kadar semua orang. Sembunyikan kadar mengikut peranan dari hari pertama.
- Terlalu banyak medan wajib. Jika mencatat masa mengambil lebih beberapa saat, orang berhenti melakukannya, dan data menjadi fiksyen. Jadikan tugas dan nota pilihan pada mulanya.
- Membina pengurus projek penuh di dalam penjejak. Simpan projek sebagai label mudah. Jika anda memerlukan tugas, papan dan tarikh akhir, itu ialah alat pengurusan projek, binaan yang berasingan.
Bila penjejak sedia ada lebih sesuai
Jika pasukan anda memerlukan pemasa, paparan minggu dan laporan, produk penjejakan masa khusus sudah melakukannya dengan baik. Ia juga datang dengan perkara yang memerlukan kerja sebenar untuk dibina: apl desktop dan telefon, pengesanan tidak aktif, integrasi kalendar dan alat, serta peringatan untuk mengisi lembaran masa. Untuk gaji ikut jam, alat yang dibina khusus untuknya akan mengendalikan rehat, kerja lebih masa dan simpanan rekod dengan lebih selamat berbanding apl tersuai versi pertama.
Bina sendiri apabila peraturan anda tidak sesuai, apabila anda mahu jam dikaitkan dengan data yang sudah anda simpan (kerja, perintah kerja, retainer, invois), apabila kos setiap tempat duduk untuk pasukan besar bertambah, atau apabila penjejakan masa hanyalah sebahagian daripada alat dalaman yang lebih besar. Panduan kami tentang membina berbanding membeli perisian menerangkan pertukaran ini, dan jika jam anda kini berada dalam hamparan dikongsi, lihat cara menukar hamparan kepada apl.
Membinanya dengan Mythex
Di Mythex anda terangkan penjejak itu dalam sembang dan ejen membinanya dalam pratonton langsung. Ia menambah pangkalan data Postgres khusus apabila entri perlu disimpan, dan anda boleh memintanya secara langsung atau menaip /database. Kes penggunaan alat dalaman dalam dokumentasi mencadangkan memilih satu langkah yang menyakitkan untuk versi pertama, yang sesuai di sini: mulakan dengan entri dan grid minggu, kemudian tambah pemasa dan kelulusan.
Log masuk untuk pasukan anda ialah sesuatu yang anda tambah dengan pendekatan auth anda sendiri (resipi tambah log masuk). Akaun Mythex adalah untuk orang yang membina, bukan orang yang menggunakan apl anda. Apabila aliran utama berfungsi, /test meminta ejen mengklik melalui pratonton (mula pemasa, tambah entri, jalankan laporan) dan melaporkan apa yang rosak. Untuk titik permulaan visual, lihat templat apl.
Soalan lazim
Apakah ciri yang diperlukan apl penjejak masa?
Senarai pelanggan dan projek, pemasa mula/henti, cara menambah atau membetulkan entri secara manual, paparan lembaran masa mingguan, dan laporan jam bagi setiap projek dan orang. Kelulusan, kadar boleh dibilang dan eksport datang selepas itu.
Bagaimana saya menghalang pemasa kehilangan masa apabila pelayar ditutup?
Simpan masa mula ke pangkalan data sebaik pemasa dimulakan, dan kira tempoh berjalan daripada masa tersimpan itu. Dengan itu, menutup tab, memuat semula atau menukar peranti tidak menyebabkan apa-apa kehilangan.
Patutkah masa dibundarkan?
Simpan masa mula dan tamat yang tepat, dan gunakan pembundaran hanya dalam laporan dan invois. Dengan itu, anda boleh menukar peraturan pembundaran kemudian tanpa menulis semula sejarah.
Berbaloikah membina penjejak masa sendiri?
Biasanya hanya jika peraturan anda luar biasa atau anda mahu jam dikaitkan dengan data lain yang sudah anda simpan, seperti kerja, pelanggan atau invois. Untuk pemasa dan laporan biasa, penjejak sedia ada lebih murah dan lebih pantas.