استوديو الذكاء الاصطناعي
كل المشاريع

نظام إدارة وطباعة بطاقات الموظفين

اسأل عن هذا المشروع

نريد إنشاء نظام ويب لإدارة بيانات الموظفين وإنشاء وطباعة بطاقات الموظفين بشكل احترافي. يتيح النظام للمستخدم إضافة الموظفين وتعديل بياناتهم وحذفهم والبحث عنهم وعرض قائمة بجميع الموظفين. عند إضافة موظف جديد يتم إدخال البيانات التالية: - الرقم الوظيفي - اسم الموظف بالعربية - اسم الموظف بالإنجليزية - المسمى الوظيفي - الإدارة / القسم - البريد الإلكتروني - رقم الجوال - تاريخ الميلاد - تاريخ الالتحاق بالعمل - تاريخ انتهاء البطاقة - صورة الموظف - حالة الموظف: على رأس العمل / موقوف / منتهي الخدمة يقوم النظام تلقائيًا بإنشاء بطاقة موظف تحتوي على صورة الموظف واسمه ورقمه الوظيفي والمسمى الوظيفي والإدارة وتاريخ انتهاء البطاقة، بالإضافة إلى QR Code يحتوي على رقم الموظف ورابط صفحة التحقق من البطاقة. يجب أن يكون بالإمكان معاينة البطاقة قبل الطباعة، وطباعة بطاقة موظف واحدة أو مجموعة من البطاقات دفعة واحدة، مع إمكانية تحميل البطاقة بصيغة PDF. يجب أن يحتوي النظام على شاشة رئيسية Dashboard تعرض إجمالي الموظفين، الموظفين النشطين، البطاقات المنتهية، والبطاقات التي ستنتهي قريبًا. يجب توفير شاشة لإدارة الموظفين تحتوي على جدول قابل للبحث والفلترة حسب الإدارة وحالة الموظف، مع إمكانية تعديل وحذف وطباعة بطاقة الموظف. يجب توفير شاشة لإدارة قوالب البطاقات بحيث يمكن اختيار تصميم البطاقة وتحديد العناصر التي تظهر عليها. يجب أن يدعم النظام اللغتين العربية والإنجليزية، وأن تكون الواجهة متجاوبة مع أجهزة الكمبيوتر والأجهزة اللوحية والجوال. يجب تطبيق نظام صلاحيات بحيث يوجد مدير للنظام يستطيع إدارة جميع البيانات والمستخدمين، ومستخدم عادي يستطيع إضافة وتعديل بيانات الموظفين وطباعة البطاقات حسب الصلاحيات الممنوحة له. يجب تسجيل العمليات المهمة في النظام مثل إضافة موظف وتعديل بياناته وحذف الموظف وطباعة البطاقة، مع تسجيل المستخدم والتاريخ والوقت. يجب تصميم النظام بواجهة حديثة وبسيطة، مع التركيز على سهولة الاستخدام وسرعة البحث والطباعة.

اطلب تعديلًا

يُطبَّق على المسودة الحالية، النسخة ⁨2⁩، ويُنتج نسخة جديدة. تبقى النسخة الحالية في السجل.

مبني على النموذج الأولي المعتمد، النسخة ⁨1⁩. لتعديله ارجع خطوة واحدة.

النسخة ⁨2⁩مسودةأُنشئ قبل 13 يومًا
التقنيات: ⁨ASP.NET Core Razor Pages⁩ على ⁨‎.NET 10⁩ · ⁨SQL Server⁩ · ⁨ASP.NET Core MVC / Razor⁩

مكتوبة بـ ⁨ASP.NET Core Razor Pages⁩ على ⁨‎.NET 10⁩ · ⁨SQL Server⁩ · ⁨ASP.NET Core MVC / Razor⁩

مكتبات الواجهة: ⁨TypeScript⁩، ⁨Bootstrap⁩، ⁨jQuery⁩

الشيفرة المصدرية

⁨69⁩ ملفًا في ⁨8⁩ وحدات

تنزيل الشيفرة (zip)
src/EmployeeCardSystem/Models/Enums/EmployeeStatus.cs · ⁨24⁩ سطرًا
namespace EmployeeCardSystem.Models.Enums
{
    /// <summary>
    /// Represents the employment status of an employee.
    /// Used by the Employee entity and filtering logic in other modules.
    /// </summary>
    public enum EmployeeStatus
    {
        /// <summary>
        /// Employee is currently active and working.
        /// </summary>
        Active = 0,
 
        /// <summary>
        /// Employee is suspended from duties.
        /// </summary>
        Suspended = 1,
 
        /// <summary>
        /// Employee's service has been terminated.
        /// </summary>
        Terminated = 2
    }
}

البنية التقنية

يعتمد النظام في بنيته التقنية على لغة C# مع إطار عمل .NET 10 (LTS) كمنصة أساسية لتطوير الخلفية، مع استخدام ASP.NET Core Razor Pages و Entity Framework Core لإدارة منطق الأعمال وتفاعل قاعدة البيانات. يتم استضافة الواجهة البرمجية داخل نفس مشروع التطبيق دون الحاجة إلى مشروع واجهة مستقلة، حيث تعتمد الواجهة على عرض الخوادم (Server-rendered) باستخدام نماذج ASP.NET Core MVC أو Razor Pages، مع استخدام مكتبة Bootstrap 5 لتنسيق التخطيط والألوان، ومكتبة jQuery لبرمجة التفاعلات الديناميكية، ولغة TypeScript لكتابة سكربتات الواجهة وضمان سلامة الأنواع. تُبنى قاعدة البيانات على Microsoft SQL Server، حيث تُكتب مخططات الجداول والاستعلامات خصيصاً لهذه البيئة لضمان الأداء الأمثل، بينما تعتمد اختبارات الوحدة على إطار xUnit دون الحاجة إلى تشغيل خادم قاعدة بيانات فعلي أثناء مرحلة الاختبار. يتكون مستودع الكود من حل واحد (.sln) يضم مشروعين رئيسيين: مشروع التطبيق الذي يحتوي على مجلدات منظمة وفق نمط MVC، حيث يضم مجلد Controllers منطق التحكم والتنقل، ومجلد Views القوالب الجاهزة للعرض، ومجلد Models كائنات البيانات والنماذج، ومجلد Data الذي يحتوي على سياق قاعدة البيانات (DbContext) وكائنات الكيانات (Entities) المرتبطة بسجلات الموظفين والبطاقات والقوالب وسجلات التدقيق، ومجلد Services الذي يحوي منطق الأعمال المنفصل مثل محرك توليد البطاقات وحساب مؤشرات الأداء، ومجلد wwwroot الذي يستضيف الملفات الثابتة مثل الصور والأيقونات ومكتبات Bootstrap وjQuery وTypeScript. أما المشروع الثاني فهو مشروع الاختبارات (xUnit) الذي يحتوي على اختبارات الوحدة لكل طبقة من طبقات النظام. تتبع جميع الوحدات قواعد تسمية موحدة، حيث تُسمّى الملفات بأسماء كائنها (PascalCase) وتُستخدم الأسماء ذاتية الوصف، وتُطبّق معالجة الأخطاء المركزية عبر استثناءات مخصصة مع رسائل واضحة للمستخدم، وتُخزَّن الإعدادات في ملفات JSON موحدة تُحمّل ديناميكياً، مع ضمان تشفير البيانات الحساسة أثناء النقل والتخزين وفقاً لمتطلبات الأمان المعتمدة.

الوحدات البرمجية

  1. MOD-01
    وحدة الأساسيات والإعدادات (Foundation & Configuration) في مجلد Data وModels: تضم سياق قاعدة البيانات (AppDbContext) ومخططات الكيانات (Entities) لسجلات الموظفين والبطاقات والقوالب وسجلات التدقيق، بالإضافة إلى ملفات الإعدادات (appsettings.json) ومفاتيح التشفير، وهي الوحدة التي تعتمد عليها جميع الوحدات الأخرى لضمان سلامة البيانات وتوافقها مع SQL Server.
    أساسييحقق ⁨FR-01⁩ و⁨FR-02⁩ و⁨FR-03⁩ و⁨FR-04⁩ و⁨FR-13⁩ و⁨FR-14⁩ و⁨NFR-03⁩
  2. MOD-02
    وحدة إدارة بيانات الموظفين (Employee Management Module) في مجلد Controllers (EmployeeController) وViews (Employees): تنفذ منطق إضافة الموظفين الجدد وتعديل بياناتهم وحذفهم مع نافذة تأكيد، وتوفر الجدول الرئيسي القابل للبحث والفلترة حسب الإدارة والحالة، مع تطبيق التحقق الفوري من صحة الحقول قبل الحفظ في قاعدة البيانات.
    أساسييحقق ⁨FR-01⁩ و⁨FR-02⁩ و⁨FR-09⁩
  3. MOD-03
    وحدة محرك توليد البطاقات (Card Generation Engine) في مجلد Services (CardGenerationService): تتولى توليد تصميم البطاقة تلقائيًا بعد حفظ بيانات الموظف، وتدمج رمز الاستجابة السريعة (QR Code) الذي يحتوي على الرقم الوظيفي ورابط التحقق، مع دعم اختيار القالب المعتمد وتحديد العناصر الظاهرة على البطاقة.
    أساسييحقق ⁨FR-03⁩ و⁨FR-04⁩ و⁨FR-10⁩
  4. MOD-04
    وحدة الطباعة والتصدير (Printing & Export Module) في مجلد Services (PrintingService) وViews (CardPreview): تتيح معاينة البطاقة قبل الطباعة، وتنفيذ الطباعة الفردية أو الجماعية، وتوليد ملفات PDF للبطاقات، مع ضمان مطابقة المخرجات للتصميم المعتمد وسرعة الاستجابة.
    أساسييحقق ⁨FR-05⁩ و⁨FR-06⁩ و⁨FR-07⁩ و⁨NFR-01⁩
  5. MOD-05
    وحدة نظام الصلاحيات والمصادقة (Authentication & Authorization Module) في مجلد Controllers (AccountController) وServices (AuthService): تطبق نظام تسجيل الدخول مع المصادقة الثنائية لمدير النظام، وتحدد صلاحيات الوصول لكل دور (مدير أو عادي)، ومنع المستخدم العادي من الوصول إلى أدوات الإدارة الحساسة.
    أساسييحقق ⁨FR-13⁩ و⁨NFR-03⁩
  6. MOD-06
    وحدة سجلات التدقيق والامتثال (Audit & Compliance Module) في مجلد Services (AuditService) وViews (AuditLogs): تسجل جميع العمليات الحساسة (إضافة، تعديل، حذف، طباعة) مع اسم المستخدم والتاريخ والوقت، وتوفر إمكانية تصدير السجلات بصيغة CSV أو PDF، مع ضمان عدم قابلية التعديل أو الحذف للامتثال لسياسات الحفظ.
    أساسييحقق ⁨FR-14⁩ و⁨NFR-06⁩
  7. MOD-07
    وحدة الواجهة المتعددة اللغات والتجاوب (Localization & Responsive UI Module) في مجلد wwwroot (TypeScript, CSS) وViews (Layouts): تدعم التبديل بين اللغتين العربية والإنجليزية مع الحفاظ على اتجاه النص (RTL/LTR) دون إعادة تحميل الصفحة، وتضمن تجاوب الواجهة مع أجهزة الكمبيوتر والأجهزة اللوحية والجوال، مع الالتزام بمعايير إمكانية الوصول (WCAG 2.1).
    مهميحقق ⁨FR-11⁩ و⁨FR-12⁩ و⁨NFR-04⁩ و⁨NFR-05⁩
  8. MOD-08
    وحدة لوحة المؤشرات الرئيسية (Dashboard Module) في مجلد Controllers (DashboardController) وViews (Dashboard): تعرض مؤشرات الأداء الحية مثل إجمالي الموظفين، النشطين، والبطاقات المنتهية أو القريبة من الانتهاء، مع أزرار تنقل سريعة نحو الشاشات الفرعية، وتحديث البيانات لحظيًا.
    مهميحقق ⁨FR-08⁩