طورت نظامًا متكاملًا لإدارة الفعاليات والحجوزات، يتيح للمستخدمين استكشاف الفعاليات، الاطلاع على تفاصيلها، إنشاء حساب، حجز مقعد، وإدارة حجوزاتهم وبياناتهم الشخصية.
يتضمن النظام لوحة تحكم لإدارة الفعاليات، بداية من إنشاء الفعالية وتعديل بياناتها وحتى حذفها ومتابعة المسجلين بها. كما يدعم تنظيم صلاحيات المستخدمين وفق أدوار مختلفة مثل المستخدم، منظم الفعالية، والمسؤول.
شمل العمل تطوير REST APIs باستخدام Node.js وExpress.js وربطها بقاعدة بيانات MongoDB، مع تطبيق Validation وError Handling لضمان صحة البيانات واستقرار الاستجابات. كما تم تنفيذ قواعد العمل الخاصة بالحجوزات، مثل التحقق من المقاعد المتاحة، منع التسجيل المكرر، ومنع إلغاء الحجز عندما يتبقى أقل من 12 ساعة على موعد الفعالية.
صممت كذلك واجهات المستخدم ولوحة الإدارة، يوضح تدفق استخدام النظام وحالات النجاح، التحميل، عدم وجود بيانات، وأخطاء التحقق من المدخلات، بالإضافة إلى شكل الواجهات على الهواتف.
ما تم تنفيذه
- إنشاء الحساب وتسجيل الدخول باستخدام JWT Authentication.
- إدارة بيانات المستخدم وتعديل الملف الشخصي.
- إنشاء الفعاليات وتعديلها وحذفها.
- عرض الفعاليات مع البحث والتصفية حسب التصنيف والحالة.
- عرض تفاصيل الفعالية ومعلومات الموعد والموقع والتذاكر.
- التسجيل في الفعاليات والتحقق من المقاعد المتاحة.
- منع تسجيل المستخدم أكثر من مرة في الفعالية نفسها.
- إدارة الحجوزات وعرض الفعاليات المسجل بها المستخدم.
- إلغاء التسجيل مع تطبيق شرط منع الإلغاء خلال آخر 12 ساعة.
- عرض قائمة المسجلين في كل فعالية وإمكانية البحث والتصفية.
- إدارة أدوار وصلاحيات المستخدمين والمنظمين والمسؤولين.
- تطبيق Validation وError Handling ورسائل أخطاء واضحة.
- تصميم حالات Loading وEmpty وError وValidation.
التقنيات المستخدمة
Node.js، Express.js، MongoDB، Mongoose، REST APIs، JWT، Authentication، Authorization، JavaScript، API Testing، Postman، Validation، Error Handling، React