نظام إدارة المكتبة المتكامل (Library Management System)

تفاصيل العمل

وصف العمل — نظام إدارة مكتبة كامل (Library Management System)

نظرة عامة

نظام إدارة مكتبة متكامل (Full-Stack) مبني باستخدام ASP.NET Core 9 في الخلفية وReact + TypeScript في الواجهة الأمامية. يهدف المشروع إلى تمكين المكتبات من إدارة الكتب، الأعضاء، الاشتراكات، وعمليات الإعارة/الإرجاع بكفاءة، مع دعم تواصل فوري وإمكانيات تحديد مواقع الكتب على خريطة.

أهداف المشروع

تصميم واجهة مستخدم حديثة وسهلة الاستخدام للأمناء والأعضاء.

توفير واجهات برمجية (APIs) آمنة وقابلة للتوسع لإدارة البيانات.

تنفيذ نظام إعارة وإرجاع مع تتبع تاريخ الإعارات وحالة الكتاب.

دعم صلاحيات دورية (Librarian / Member) مع توثيق JWT.

تمكين تواصل فوري (Chat/Notifications) باستخدام SignalR.

دمج ميزة تحديد موقع الكتب بصريًا باستخدام Leaflet.

توثيق، اختبارات، ونشر جاهز للإنتاج.

نطاق العمل (Scope)

مشمول:

CRUD كامل للكتب، الأعضاء، والاشتراكات وأنواع العضويات.

نظام طلب إعارة وموافقة وإرجاع مع سجل تاريخي.

إدارة صلاحيات المستخدمين (أدوار متعددة).

شات فوري بين المستخدمين/الأمناء وإشعارات فورية.

واجهة خرائط لعرض مواقع الكتب/الأقسام داخل المكتبة.

نظام تحليلات مب-basic (مثل عدد الإعارات، الكتب الشائعة).

إعدادات التهيئة والبيئة (connection strings و appsettings).

سكريبتات الهجرة وتحديث قاعدة البيانات باستخدام EF Core.

إعداد CI/CD أساسي (اختياري: GitHub Actions / Azure DevOps).

غير مشمول (يمكن إضافته لاحقًا):

دمج بوابات دفع للاشتراكات المدفوعة.

التكامل مع أنظمة صناديق الكتب المادية أو أجهزة RFID.

توصيات ذكية (recommender) مبنية على ML — يمكن إضافتها كمرحلة مستقبلية.

مخرجات مطلوبة (Deliverables)

كود مصدر نظيف ومنظم (BackEnd + FrontEnd) مع README مفصل.

قاعدة بيانات SQL Server مع سكريبتات الهجرة (EF Migrations).

واجهات API موثقة (Swagger).

واجهة React جاهزة للاستعمال مع صفحات: تسجيل/تسجيل دخول، لوحة تحكم الأمناء، صفحة العضو، صفحة كتاب، صفحة خرائط، صفحة شات.

إعدادات نشر محلي ومستند نشر/تثبيت (Deployment guide).

اختبارات وحدات أساسية (Unit Tests) واختبارات تكاملية للـ API.

دليل مستخدم مختصر (User Guide) ودليل مطور (Developer Guide).

ملف عرض تقديمي (PowerPoint) لشرح المشروع ومراحله وميزات النظام (اختياري).

المعايير المقبولة للصالحية (Acceptance Criteria)

يمكن للأمين إضافة/تعديل/حذف الكتب بنجاح، وتنعكس التغييرات في قاعدة البيانات.

يمكن للأعضاء تسجيل حساب وتسجيل الدخول، والاطلاع على حالة اشتراكهم وسجل الإعارات.

صلاحيات مفصولة: أعضاء لا يمكن أن يصلوا لوظائف الأمناء.

عملية إعارة/إرجاع تعمل وتُحدّث حالة الكتاب (متوفر / مُعار).

الشات والإشعارات الفورية تعمل بين المستخدمين (SignalR).

خريطة تعرض موقع الكتاب داخل المكتبة (Leaflet) وتستجيب لعمليات البحث.

وجود توثيق API (Swagger) ودليل تشغيل واضح.

اختبارات وحدات لعدد لا يقل عن (مثال) 60% تغطية للأجزاء الحرجة.

معمارية ونمط التصميم

طبقي: Controllers → Services → Repositories → EF Core DbContext.

DTOs للـ API وفصل النموذج (Entities) عن الـ ViewModels.

JWT للاختبار والتوثيق، مع تجديد توكن (refresh tokens) إن لزم.

SignalR Hub منفصل للتواصل الفوري.

إعداد CORS مناسب للـ frontend (Vite dev server).

التكنولوجيا والأدوات

Backend: .NET 9, Entity Framework Core, SignalR, Swagger, xUnit/NUnit.

Frontend: React 18, TypeScript, Vite, TailwindCSS, Material-UI, Leaflet, Axios, react-router.

Database: SQL Server (قابل للتبديل إلى PostgreSQL إن دعت الحاجة).

DevOps: Git, GitHub (Actions) أو Azure DevOps، Docker (اختياري للحاويات).

Auth: JWT + سياسات أدوار.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
2
تاريخ الإضافة
المهارات