Post by Muhammed Madyan

MERN Stack Developer | Node.js · NestJS · MongoDB · PostgreSQL | Prisma ORM | React · Next.js · TypeScript | ITI Graduate | Open Source @ NTI

خلال الفترة الماضية، صممت ونفذت نظاماً متكاملاً (ERP) لإدارة رحلات الحج والعمرة — MAYORCA — كعمل فريلانس لعميل في مجال السياحة الدينية. المشروع لم يكن مجرد CRUD بسيط. التحدي الحقيقي كان في ربط 14 كياناً مختلفاً (Pilgrims, Trips, Contracts, Delegates, FlightRoutes, Documents, Tasks...) بعلاقات معقدة مع الحفاظ على سلامة البيانات والتكامل المرجعي على مستوى قاعدة البيانات. من القرارات التقنية اللي أخذتها في الباك إند: تصميم طبقة Middleware صلاحيات ثلاثية: المصادقة (JWT) → التحقق من الدور (Admin/Employee) → التحقق من الصلاحية (Feature-based authorization). هذا يسمح بإدارة صلاحيات دقيقة جداً لكل موظف (9 features × 4 actions) تطبيق Device Fingerprinting للتحكم في الأجهزة المسموح لكل موظف — يمنع تسرب الحسابات حتى لو انكشف PIN Activity Audit Logging إلزامي لكل عملية CUD — كل حدث مسجل مع IP, Browser, Fingerprint, Timestamp للتدقيق الكامل Repository Pattern موحد لكل Controller باستخدام asyncHandler + ApiError + sendSuccess — يقلل boilerplate ويضمن استجابات متناسقة نظام Logging بتدرج: ملف للأخطاء فقط (production debugging)، ملف شامل (تحليل أداء)، ملف للـ Debug (development) في الفرونت إند: SPA معمولة بـ React 19 + Vite 6 مع Lazy Loading للصفحات لتقليل حجم الـ bundle الأولي Export Engine (Excel, Word, CSV) شغال بالكامل على Client-Side باستخدام ExcelJS — ما يحملش السيرفر بطلبات تصدير PWA مع Service Worker للتشغيل Offline على الجوال — العميل والموظفين يقدروا يستخدموا النظام حتى في الأماكن اللي فيها نت ضعيف (زي المشاعر المقدسة) خلفية المشروع: MAYORCA هو تطبيق متكامل لإدارة رحلات الحج والعمرة، يغطي دورة العمل الكاملة من تسجيل الحاج، مروراً بالرحلات والعقود، وصولاً للتصدير والتقارير. النظام يتعامل مع آلاف الحجاج في موسم واحد، فكان الأداء وقاعدة البيانات شيء أساسي في التصميم من اليوم الأول. التقنيات: Node.js, Express, MongoDB, Mongoose, React 19, Vite 6, Tailwind CSS 4, JWT, bcryptjs, Winston, FingerprintJS, ExcelJS, PWA, Helmet, Multer, Sharp, express-validator, Morgan, UUID. النظام شغال في الإنتاج حالياً وبيعالج بيانات حقيقية. لو عندك مشروع محتاج حد يشتغل عليه — سواء ERP أو أي نظام آخر — أنا موجود 💪 #NodeJS #ReactJS #MongoDB #ExpressJS #SystemDesign #ERP #FullStackDeveloper #JavaScript #Architecture #BackendArchitecture #Freelancing #Hajj #Umrah #PWA #Security #WebDevelopment

Post content

Video Content