نظام حجز الغرف المتكامل (Room Reservation System - Backend API)

تفاصيل العمل

نظام حجز الغرف المتكامل (Room Reservation System - Backend API)

نبذة عن المشروع

نظام متطور لإدارة وحجز الغرف مبني باستخدام إطار العمل NestJS وقاعدة بيانات MySQL عبر Prisma ORM. يتيح النظام إدارة العمليات لثلاثة أنواع من المستخدمين (مدير، صاحب منشأة، وضيف) من خلال واجهة برمجة تطبيقات REST API مؤمنة وموثقة بالكامل، مما يضمن تجربة حجز سلسة ومنظمة.

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

إطار العمل البرمجي: NestJS 11 لضمان بنية برمجية منظمة وقابلة للتوسع.

قواعد البيانات: MySQL مع استخدام Prisma ORM 6 لإدارة العلاقات المعقدة بكفاءة.

نظام المصادقة: JWT مع تشفير Argon2 لضمان أعلى مستويات الأمان لبيانات المستخدمين.

التحقق من البيانات: الاعتماد على مكتبة Zod v4 لتوفير فحص دقيق وهيكلي للمدخلات.

التوثيق التقني: Swagger / OpenAPI لتوفير مرجع شامل لمختلف واجهات البرمجة.

الميزات الرئيسية

1. نظام مصادقة وصلاحيات احترافي

تطبيق نظام التحكم بالوصول بناءً على الأدوار (RBAC) للتمييز بدقة بين صلاحيات المدير والمالك والضيف. يتضمن النظام حماية شاملة لجميع المسارات باستخدام حراس الوصول (Guards) وتشفير متقدم لكلمات المرور يمتد مفعوله لثلاثين يوماً.

2. منطق أعمال متقدم لكشف تعارض الحجوزات

يحتوي النظام على خوارزمية للتحقق التلقائي من عدم وجود تداخل في تواريخ الحجز لنفس الغرفة عند إنشاء طلب جديد. يتم تنفيذ هذه العملية عبر Prisma Transactions لضمان دقة البيانات ومنع حدوث أي تضارب مالي أو إداري.

3. بحث وفلترة متطورة للغرف

توفير أدوات بحث ذكية تتيح للضيوف العثور على الغرف بناءً على السعر، السعة، وتوافرها الفعلي في نطاق زمني معين، بحيث يتم استبعاد الغرف المحجوزة مسبقاً تلقائياً من نتائج البحث.

4. بنية برمجية نظيفة (Clean Architecture)

فصل واضح وممنهج بين طبقات المشروع (التحكم، الخدمات، والمستودعات). يتضمن النظام معالجة مركزية للأخطاء (Global Exception Filters) واستخدام استثناءات مخصصة بأسماء دلالية تسهل عملية تتبع المشاكل وحلها.

5. نظام الحذف الناعم (Soft Delete)

تطبيق استراتيجية الحذف الناعم للمستخدمين والغرف لضمان عدم ضياع البيانات المرجعية أو التأثير على سجلات الحجز السابقة، حيث يتم تغيير حالة السجل بدلاً من حذفه نهائياً من قاعدة البيانات.

6. توحيد الاستجابات والتوثيق التلقائي

استخدام واجهات اعتراضية (Interceptors) لتوحيد شكل الردود الصادرة من الـ API بجميع الحالات، مع توفير واجهة Swagger كاملة تتيح تجربة واختبار جميع العمليات مباشرة مع دعم كامل لنظام المصادقة.

التقنيات المستخدمة (Tech Stack)

Backend Framework: NestJS 11

Database: MySQL / Prisma ORM 6

Authentication: JWT / Argon2

Validation: Zod v4

Testing: Jest / Supertest

Language: TypeScript

API Documentation: Swagger / OpenAPI

يعكس هذا المشروع القدرة على تصميم أنظمة برمجية معقدة تركز على منطق الأعمال الدقيق (Business Logic) وحماية البيانات، مع الالتزام بأفضل ممارسات كتابة الكود النظيف والمنظم.

بطاقة العمل

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