هذا المشروع عبارة عن REST API متكامل تم تطويره باستخدام FastAPI و PostgreSQL، ويهدف إلى إدارة بيانات الطلاب بشكل احترافي من خلال توفير واجهة برمجية تسمح بالتفاعل مع قاعدة البيانات بسهولة وأمان.
فكرة المشروع:
تم تصميم هذا الـ API ليكون حلًا خلفيًا متكاملاً يمكن استخدامه في أنظمة إدارة المدارس أو الجامعات أو أي منصة تعليمية تحتاج إلى تنظيم بيانات الطلاب. المشروع يحاكي الأنظمة الحقيقية المستخدمة في الشركات والمؤسسات من حيث التنظيم وجودة الكود وسهولة التوسع.
كيف يعمل المشروع:
يقوم الـ API بالاتصال بقاعدة بيانات PostgreSQL تحتوي على جدول students، ويوفر 6 endpoints رئيسية تسمح للمستخدم بإجراء جميع العمليات الأساسية على البيانات:
-عرض جميع الطلاب المسجلين في النظام
-عرض بيانات طالب محدد باستخدام الرقم التعريفي الخاص به
-إضافة طالب جديد مع التحقق من صحة البيانات المدخلة
-تحديث معدل GPA لأي طالب
-حذف طالب من قاعدة البيانات
-عرض إحصائيات عامة مثل عدد الطلاب الإجمالي ومتوسط GPA وأعلى معدل مسجل
التقنيات المستخدمة:
-Python كلغة برمجة أساسية
-FastAPI لبناء الـ API بسرعة وكفاءة
-PostgreSQL كقاعدة بيانات علائقية
-psycopg2 للربط بين Python وقاعدة البيانات
-Pydantic للتحقق من صحة البيانات المدخلة
-Swagger UI لتوثيق الـ API تلقائيًا مما يسهل على أي مطور تجربة الـ endpoints واختبارها
المميزات التقنية:
-الكود منظم ومرتب بحيث يسهل تطويره وإضافة ميزات جديدة
-جميع الـ endpoints تعيد JSON responses مما يجعلها جاهزة للاستخدام مع أي واجهة أمامية مثل React أو Vue
-معالجة الأخطاء بشكل جيد بحيث يعرض الـ API رسائل واضحة في حالة حدوث أي مشكلة
-توثيق تلقائي للـ API من خلال FastAPI يوفر واجهة تفاعلية لاختبار جميع الـ endpoints
-استخدام prepared statements للوقاية من SQL Injection
النتائج المستفادة:
-من خلال هذا المشروع تمكنت من تطبيق المفاهيم الأساسية لتطوير الـ Backend بشكل عملي، مثل:
-تصميم قاعدة بيانات علائقية وكتابة استعلامات SQL معقدة
-بناء REST API باتباع أفضل الممارسات
-التعامل مع طلبات HTTP المختلفة (GET, POST, PUT, DELETE)
-التحقق من صحة البيانات قبل إدخالها إلى قاعدة البيانات
-تنظيم الكود باستخدام نماذج Pydantic