كيف تبني تطبيق تتبع الوقت: المؤقتات وجداول الساعات والتقارير
يسجل تطبيق تتبع الوقت من عمل على ماذا، ولمدة كم، وهل يمكن فوترة ذلك الوقت. ولبنائه تحتاج إلى عملاء ومشاريع لتتبع الوقت لصالحها، ومؤقت يبقى حياً عند إغلاق لسان المتصفح، وطريقة لإضافة الإدخالات وتصحيحها يدوياً، وجدول ساعات أسبوعي، وتقارير تحوّل الإدخالات الخام إلى مجاميع. ويستطيع منشئ التطبيقات بالذكاء الاصطناعي إنتاج نسخة أولى تعمل من موجّه واحد واضح. والقرارات المهمة تتعلق بالقواعد: التقريب، ومن يحق له تعديل ماذا، ومتى يُقفل الأسبوع، وما الذي يُعد قابلاً للفوترة.
حدد الغرض من تتبع الوقت
يبدو التطبيق نفسه مختلفاً حسب السبب الذي وراءه:
- فوترة العملاء. ساعات لكل عميل، ومعدل لكل شخص أو مشروع، وتصدير نظيف للفواتير. الدقة وسجل التدقيق هما الأهم.
- كشوف الرواتب للموظفين بالساعة. تسجيل الحضور والانصراف، والاستراحات، وقواعد العمل الإضافي، وتوقيع المدير. قوانين العمل المحلية تنطبق هنا، فتحقق من السجلات التي يُلزمك القانون بحفظها.
- فهم أين يذهب الوقت. رؤية شخصية أو للفريق، والمقارنة بين التقديرات والفعلي. سرعة الإدخال أهم من تدفقات الموافقة.
اختر وظيفة رئيسية واحدة للنسخة الأولى. فأداة تتبع فوترة للعمل الحر ومنبه دوام لمستودع تشترك في المؤقت وقليل جداً غير ذلك.
ما يحتاجه التطبيق
البيانات
| الجدول | الحقول الرئيسية |
|---|---|
| العملاء | الاسم، ومعدل الساعة الافتراضي، نشط أم لا |
| المشاريع | العميل، والاسم، والميزانية بالساعات (اختيارية)، وقابل للفوترة افتراضياً نعم/لا |
| المهام أو الفئات | المشروع، والاسم (تصميم، اجتماعات، دعم)، اختياري في البداية |
| إدخالات الوقت | الشخص، والمشروع، والمهمة، ووقت البدء، ووقت الانتهاء، والمدة، والملاحظة، وقابل للفوترة نعم/لا، والحالة (مسودة، مُرسل، معتمد)، ومفوتر نعم/لا |
| الأشخاص | الاسم، والبريد الإلكتروني، والدور، ومعدل التكلفة أو معدل الفوترة |
خزّن وقت البدء ووقت الانتهاء في كل إدخال واحسب المدة منهما. أما الإدخالات التي يكتبها الناس مثل «2 ساعة و15 دقيقة» دون أوقات، فيمكن أن تخزّن المدة وحدها، مع الاحتفاظ بالتاريخ.
الصفحات
- المؤقت واليوم: زر كبير للبدء والإيقاف، وأداة لاختيار المشروع، وإدخالات اليوم أسفله.
- عرض الأسبوع: شبكة فيها المشاريع في الجانب والأيام عبر الصفحة، يكتب الناس فيها الساعات مباشرة. ويفضل كثيرون هذا على المؤقتات.
- التقارير: ساعات لكل عميل ومشروع وشخص لنطاق تاريخي، مع تقسيم بين القابل للفوترة وغير القابل، وتصدير CSV.
- الإدارة: إدارة العملاء والمشاريع والأشخاص والمعدلات.
الصلاحيات
اكتب من يستطيع فعل ماذا قبل البناء:
- يرى الأشخاص إدخالاتهم الخاصة ويعدلونها.
- يرى المديرون إدخالات فريقهم ويعتمدون الأسابيع.
- يغيّر المسؤولون المعدلات فقط، ويفضل ألا يراها غيرهم أصلاً.
- لا يعدّل أحد إدخالاً بعد اعتماده أو فوترته، إلا إذا أعاد المسؤول فتحه.
هذه القاعدة الأخيرة هي ما يجعل التقارير موثوقة. يغطي دليلنا عن إضافة تسجيل دخول إلى تطبيقك جانب تسجيل الدخول، ويغطي التحكم في الوصول حسب الأدوار الأدوار.
القرارات والمفاضلات
المؤقت أم الإدخال اليدوي أم كلاهما
المؤقتات دقيقة عندما يتذكر الناس تشغيلها، وهذا ليس دائماً. أما الإدخال اليدوي فسريع لمن يملأ أسبوعه يوم الجمعة. ومعظم الفرق تحتاج إلى الاثنين، وطريقة لتعديل إدخال المؤقت لاحقاً. وإذا لم تبنِ سوى واحد، فابنِ شبكة الأسبوع؛ فهي أبسط وتغطي حالة نسيان البدء.
أين يعيش المؤقت الجاري
المؤقت الذي يعمل في المتصفح فقط يفقد كل شيء عند إغلاق اللسان. احفظ وقت البدء في قاعدة البيانات عندما يضغط أحدهم بدء، واعرض الوقت المنقضي بطرح ذلك الوقت من الآن. عندها يستمر المؤقت عبر التحديثات والحواسيب المحمولة والهواتف. وقرر هل يمكن لشخص واحد تشغيل مؤقتين في الوقت نفسه. الجواب غالباً لا: بدء مؤقت جديد يوقف القديم.
التقريب
من القواعد الشائعة تقريب كل إدخال إلى أقرب 6 أو 15 أو 30 دقيقة. احتفظ بالأوقات الدقيقة في قاعدة البيانات، وطبّق التقريب في التقارير والفواتير فقط. اعرض الرقمين معاً في التقارير حتى لا يفاجأ أحد.
القفل والموافقات
بدون قفل، قد تتغير ساعات الشهر الماضي المفوترة بعد إرسال الفاتورة. نموذج بسيط: يُرسل الناس الأسبوع، ويعتمده المدير، وتصبح الإدخالات المعتمدة للقراءة فقط. وإذا كنت تُصدر الفواتير من التطبيق، فضع علامة «مفوتر» على الإدخالات حتى لا تُفوتر مرتين.
المناطق الزمنية ومنتصف الليل
خزّن الأوقات بالتوقيت العالمي المنسق (UTC) واعرضها بالمنطقة الزمنية للشخص. وقرر إلى أي يوم ينتمي إدخال يمتد من 23:00 إلى 01:00. الجواب المعتاد هو اليوم الذي بدأ فيه.
موجّه أول يعمل
ابنِ تطبيق تتبع وقت لاستوديو تصميم من ستة أشخاص. البيانات: العملاء (الاسم، ومعدل الساعة)، والمشاريع (العميل، والاسم، وساعات الميزانية)، وإدخالات الوقت (الشخص، والمشروع، والبداية، والنهاية، والملاحظة، وقابل للفوترة نعم/لا، والحالة مسودة/مُرسل/معتمد). الصفحات: صفحة «اليوم» فيها مؤقت للبدء والإيقاف واختيار للمشروع، وتحفظ وقت البدء في قاعدة البيانات حتى يستمر المؤقت بعد التحديث؛ وصفحة «الأسبوع» فيها المشاريع صفوفاً والأيام من الاثنين إلى الأحد أعمدة، ويستطيع الناس كتابة الساعات فيها مباشرة؛ وصفحة «التقارير» تعرض ساعات كل عميل ومشروع وشخص لنطاق تاريخي، مقسمة إلى قابل للفوترة وغير قابل، مع تصدير CSV؛ وصفحة «الإدارة» للعملاء والمشاريع والأشخاص. يمكن أن يعمل مؤقت واحد فقط لكل شخص. لا يمكن تعديل الإدخالات المعتمدة. خزّن الأوقات بالتوقيت العالمي المنسق واعرضها بالمنطقة الزمنية للمستخدم. تصميم نظيف وسريع وسهل بلوحة المفاتيح.
يسمّي الموجّه الجداول والصفحات وسلوك المؤقت وقاعدة القفل، وهي أمور كان الذكاء الاصطناعي سيخمّنها لولا ذلك.
خطوات البناء
- المشاريع والإدخالات اليدوية أولاً. العملاء والمشاريع ونموذج لإضافة إدخال وقائمة. تأكد من أن المجاميع صحيحة.
- المؤقت. بدء وإيقاف، ومؤقت واحد جارٍ لكل شخص، ووقت بدء محفوظ. اختبر ببدء مؤقت ثم إغلاق اللسان ثم إعادة فتحه.
- شبكة الأسبوع. كتابة الساعات في خلية تنشئ الإدخال أو تحدّثه.
- تسجيل الدخول والأدوار. أضفهما قبل أن يستخدمه أشخاص حقيقيون، حتى لا يرى أحد المعدلات أو إدخالات الآخرين بالخطأ.
- الإرسال والاعتماد. إرسال أسبوعي، واعتماد المدير، ثم القراءة فقط بعد الاعتماد.
- التقارير والتصدير. نطاق تاريخي، وتجميع، وتقسيم قابل للفوترة، وCSV.
- المعدلات وخطافات الفوترة إذا كنت تفوتر العملاء. احتفظ بإنشاء الفاتورة في خطوة منفصلة أو تطبيق آخر؛ راجع كيف تبني تطبيق فوترة.
- اختبر الحالات الحدّية. إدخال يمتد عبر منتصف الليل، وأسبوع التوقيت الصيفي، ومؤقتان بدآ من جهازين، وتعديل إدخال معتمد.
الأخطاء الشائعة
- حساب الوقت في المتصفح فقط. يعمل في العرض التوضيحي ويفقد ساعات في الاستخدام الفعلي.
- تقريب القيم المخزنة. لن تستطيع استعادة الوقت الدقيق أبداً.
- عدم قفل الأسابيع المعتمدة. تتوقف التقارير عن مطابقة الفواتير.
- أن يرى الجميع معدلات الجميع. أخفِ المعدلات حسب الدور من اليوم الأول.
- حقول إلزامية كثيرة. إذا استغرق تسجيل الوقت أكثر من بضع ثوانٍ، يتوقف الناس عنه وتصبح البيانات خيالية. اجعل المهمة والملاحظة اختياريتين في البداية.
- بناء مدير مشاريع كامل داخل أداة التتبع. أبقِ المشاريع مجرد تسميات بسيطة. وإذا احتجت إلى مهام ولوحات ومواعيد نهائية، فهذا أداة لإدارة المشاريع، وبناء منفصل.
متى تكون أداة تتبع جاهزة هي الخيار الأفضل
إذا احتاج فريقك إلى مؤقت وعرض أسبوعي وتقارير، فأدوات تتبع الوقت المتخصصة تقوم بذلك جيداً. وتأتي أيضاً مع أشياء تحتاج إلى عمل حقيقي لبنائها: تطبيقات للحاسوب والهاتف، وكشف الخمول، وتكامل مع التقويم والأدوات الأخرى، وتذكيرات لملء جداول الساعات. أما لكشوف رواتب الساعة، فالأداة المصممة لذلك تتعامل مع الاستراحات والعمل الإضافي وحفظ السجلات بأمان أكبر من تطبيق مخصص بنسخته الأولى.
ابنِ أداتك عندما لا تناسبك قواعدك، أو عندما تريد ربط الساعات ببيانات تحتفظ بها أصلاً (الأعمال، وأوامر العمل، والاشتراكات الشهرية، والفواتير)، أو عندما يصبح التسعير لكل مقعد مكلفاً لفريق كبير، أو عندما يكون تتبع الوقت جزءاً من أداة داخلية أكبر. يشرح دليل البناء مقابل الشراء للبرمجيات هذه المفاضلة، وإذا كانت ساعاتك تعيش حالياً في جدول مشترك، فراجع كيف تحوّل جدول بيانات إلى تطبيق.
بناؤه مع Mythex
في Mythex تصف الأداة في الدردشة، فيبنيها الوكيل في معاينة مباشرة. ويضيف قاعدة بيانات Postgres مخصصة عندما تحتاج الإدخالات إلى حفظ، ويمكنك طلب ذلك مباشرة أو كتابة /database. يقترح حالة استخدام الأداة الداخلية في الوثائق اختيار خطوة مؤلمة واحدة للنسخة الأولى، وهذا مناسب هنا: ابدأ بالإدخالات وشبكة الأسبوع، ثم أضف المؤقتات والموافقات.
تسجيل الدخول لفريقك أمر تضيفه بطريقة المصادقة الخاصة بك (وصفة إضافة تسجيل الدخول). حسابات Mythex مخصصة للذين يبنون التطبيق، لا للذين يستخدمونه. وبعد أن تعمل الحلقة الأساسية، يستطيع الأمر /test أن يجعل الوكيل ينقر في المعاينة (بدء مؤقت، وإضافة إدخال، وتشغيل تقرير) ويخبرك بما ينكسر. وللحصول على نقطة بداية بصرية، تصفح قوالب التطبيقات.
الأسئلة
ما الميزات التي يحتاجها تطبيق تتبع الوقت؟
قائمة بالعملاء والمشاريع، ومؤقت للبدء والإيقاف، وطريقة لإضافة الإدخالات أو تصحيحها يدوياً، وعرض لجدول الساعات الأسبوعي، وتقرير بساعات كل مشروع وكل شخص. تأتي بعد ذلك الموافقات ومعدلات الفوترة والتصدير.
كيف أمنع المؤقت من فقدان الوقت عند إغلاق المتصفح؟
احفظ وقت البدء في قاعدة البيانات لحظة بدء المؤقت، واحسب المدة الجارية من ذلك الوقت المحفوظ. عندها لا يضيع شيء عند إغلاق اللسان أو تحديث الصفحة أو تبديل الأجهزة.
هل ينبغي تقريب الوقت؟
خزّن أوقات البدء والانتهاء الدقيقة، وطبّق التقريب فقط في التقارير والفواتير. بهذه الطريقة يمكنك تغيير قاعدة التقريب لاحقاً دون إعادة كتابة السجل.
هل يستحق الأمر بناء أداة تتبع الوقت الخاصة بي؟
عادةً فقط إذا كانت قواعدك غير معتادة، أو إذا أردت ربط الساعات ببيانات أخرى تحتفظ بها أصلاً، مثل الأعمال أو العملاء أو الفواتير. أما للمؤقتات والتقارير البسيطة فالأداة الجاهزة أرخص وأسرع.