School Portal – Microservices School Management System
نظام متكامل لإدارة المدارس مبني باستخدام Microservices Architecture وتقنيات ASP.NET Core 10، يهدف إلى إدارة الطلاب، المعلمين، الفصول، الدرجات، والحضور داخل بيئة قابلة للتوسع وعالية الاعتمادية، مع بنية مشابهة للأنظمة المستخدمة في الشركات.
تم تصميم المشروع باستخدام خدمات مستقلة تتواصل فيما بينها عبر RabbitMQ، مع API Gateway لإدارة الطلبات، بالإضافة إلى نظام مراقبة متكامل (Observability) ودعم كامل للتشغيل باستخدام Docker.
أبرز المميزات
إدارة الطلاب، المعلمين، الفصول الدراسية والدرجات.
تسجيل حضور الطلاب مع تقارير تفصيلية وإحصائيات.
لوحة تحكم تفاعلية تعرض مؤشرات الأداء والرسوم البيانية.
نظام إشعارات تلقائي للأحداث المهمة مثل الغياب وإضافة أو تعديل البيانات.
نظام صلاحيات متعدد (Admin – Teacher – Student – Parent).
بحث، تصفية، وترقيم صفحات (Pagination) في جميع الشاشات.
API Gateway باستخدام YARP Reverse Proxy.
تواصل بين الخدمات باستخدام RabbitMQ مع آلية Fault Tolerance.
نظام Cache احتياطي لضمان استمرار الخدمة عند تعطل إحدى الخدمات.
تسجيل مركزي للأحداث (Centralized Logging) ومراقبة أداء النظام.
جاهزية كاملة للنشر باستخدام Docker Compose.
الجوانب التقنية
تم تطوير المشروع وفق معمارية Microservices مع فصل الخدمات إلى تطبيقات مستقلة، واستخدام Entity Framework Core لإدارة البيانات، بالإضافة إلى تطبيق أفضل ممارسات الاعتمادية وقابلية التوسع مثل:
API Gateway.
Event-Driven Architecture باستخدام RabbitMQ.
Health Checks.
Structured Logging باستخدام Serilog وSeq.
Monitoring باستخدام Prometheus وGrafana.
CI/CD باستخدام GitHub Actions.
اختبارات Unit Tests تضم أكثر من 100 اختبار لضمان جودة واستقرار النظام.
التقنيات المستخدمة
ASP.NET Core 10
C#
Microservices Architecture
Entity Framework Core
PostgreSQL
RabbitMQ
YARP API Gateway
ASP.NET Core Identity
Docker & Docker Compose
Serilog
Seq
Prometheus
Grafana
GitHub Actions (CI/CD)
Bootstrap 5
Chart.js
xUnit