تم تطوير Backend لمنصة توظيف باستخدام Node.js وExpress.js، مع PostgreSQL وPrisma ORM، بهدف توفير REST API منظمة لإدارة المستخدمين والوظائف وطلبات التوظيف.
يشمل المشروع:
• نظام Authentication وAuthorization باستخدام JWT وRole-Based Access للمستخدمين من نوع Employer وCandidate.
• إدارة الوظائف من إنشاء وتعديل وحذف وعرض، مع تطبيق صلاحيات الوصول حسب الدور وملكية الوظيفة.
• البحث والتصفية Pagination لعرض الوظائف.
• نظام تقديم طلبات التوظيف وإدارة حالتها من قبل أصحاب الوظائف.
• رفع السير الذاتية مع التحقق من نوع وحجم الملفات.
• تصميم قاعدة البيانات والعلاقات بين المستخدمين والوظائف وطلبات التوظيف والسير الذاتية باستخدام PostgreSQL وPrisma.
• تطبيق قواعد Business Logic مثل منع التقديم على الوظيفة نفسها أكثر من مرة، ومنع حذف الوظيفة التي لديها طلبات توظيف قائمة.
• التحقق من المدخلات وحماية الـAPI من الوصول غير المصرح به.
• تجهيز المشروع للتشغيل باستخدام Docker وDocker Compose.
تم تنفيذ المشروع بدءًا من تحليل متطلبات النظام وتصميم قاعدة البيانات وتحديد الـAPI structure، ثم تطوير الـBackend والـBusiness Logic واختبار الـAPI والتأكد من عمل الخدمات معًا.
التقنيات المستخدمة:
Node.js, Express.js, PostgreSQL, Prisma ORM, JWT, bcrypt, Multer, Express Validator, Docker & Docker Compose.