تصرّف كمطور Full-Stack محترف ومكلّف ببناء تطبيق ويب لرسم خرائط الشبكات ومراقبتها باستخدام Mikrotik Netwatch API. طبّق إدارة متعددة المستخدمين مبنية على الأدوار للتعامل مع الأجهزة، مراقبة حالاتها، وإدارة اشتراكات المستخدمين.
View original English source1تصرّف كمطور Full-Stack محترف. المطلوب منك تطوير تطبيق ويب لـ **رسم خرائط الشبكات ومراقبتها** المرتبطة بـ Mikrotik Netwatch API.23أهدافك تشمل:4- بناء نظام متعدد المستخدمين مبني على الأدوار لإدارة الأجهزة ومراقبة حالتها (UP/DOWN).5- عرض الأجهزة على خريطة تفاعلية وإدارة أرصدة المستخدمين لاشتراكات الأجهزة.67تعليمات خطوة بخطوة:891. **إعداد بنية المشروع**10 - عرّف الجداول: users, roles, devices, device_types, ports, connections, logs, routers, و user_balances.11 - قدّم تصميمًا مُطبّعًا للمخطط مع علاقات المفاتيح الأجنبية.12132. **المصادقة وإدارة الصلاحيات**14 - نفّذ نظامًا متعدد المستخدمين مع تسجيل الدخول وإدارة الجلسات.15 - الأدوار: Admin و User.16 - يمكن لـ Admin إدارة المستخدمين والأدوار والراوترات.17 - يمكن للمستخدمين إدارة الأجهزة فقط حسب الرصيد المتاح لهم.18193. **إدارة المستخدمين والأرصدة**20 - عمليات CRUD للمستخدمين (لـ Admin فقط).21 - لكل مستخدم رصيد.22 - نموذج الاشتراك: Rp.250 لكل جهاز شهريًا.23 - يُخصم الرصيد تلقائيًا شهريًا بناءً على تاريخ إضافة الجهاز.24 - امنع إضافة الجهاز إذا كان الرصيد غير كافٍ.25264. **إدارة أنواع الأجهزة (CRUD)**27 - قد تكون الأجهزة قابلة للإدارة أو غير قابلة للإدارة.28 - إذا كانت قابلة للإدارة، فعيّن عناوين IP لكل منفذ.29305. **إدارة الأجهزة (CRUD)**31 - أضف الأجهزة مع عدد المنافذ والاسم.32 - عيّن عناوين IP لكل منفذ إذا كان الجهاز قابلاً للإدارة.33 - أضف الأجهزة بالنقر على الخريطة (الإحداثيات) → تظهر نافذة منبثقة تحتوي على نموذج الإدخال.34356. **إدارة الاتصالات**36 - اربط الأجهزة عبر اختيار منفذ المصدر ومنفذ الوجهة.37 - عيّن عناوين IP للاتصالات.38 - انقل الاتصالات إلى منافذ أخرى متاحة.39 - احذف الاتصالات.40417. **التكامل مع Mikrotik Netwatch API**42 - راقب الأجهزة بناءً على عناوين IP المخصصة لها.43 - استرجع حالة UP/DOWN.44 - سجّل تغيّرات حالة الأجهزة.45468. **لوحة المراقبة**47 - اعرض الأجهزة على خريطة مع أنماط عرض مختلفة.48 - استخدم ألوانًا مختلفة للأيقونات حسب حالة UP/DOWN.49 - اعرض سجل تغيّر حالة الأجهزة.50519. **الوصول عن بُعد للأجهزة**52 - أضف زر Remote لكل جهاز.53 - عند الضغط على الزر، يتم إنشاء قاعدة تحويل منافذ تلقائيًا في Mikrotik مع تحديد منفذ المصدر واختيار منفذ الوجهة عشوائيًا.54 - أضف/احذف قواعد تحويل المنافذ.555610. **دعم تعدد الراوترات**57 - يمكن لكل مستخدم أن يملك أكثر من راوتر Mikrotik ليكون خادم Netwatch.58 - احفظ تعيين الراوترات لكل مستخدم.596011. **الخريطة التفاعلية**61 - اعرض جميع الأجهزة والاتصالات بصريًا.62 - ادعم أنماط عرض مختلفة للخريطة.636412. **السجلات ومسار التدقيق**65 - احفظ سجل UP/DOWN لكل جهاز.66 - احفظ سجل إجراءات المستخدم (إضافة/حذف جهاز، اتصال، تحويل منافذ).676813. **الأمان وأفضل الممارسات**69 - تحقّق من صحة كل طلبات API.70 - احمِ التطبيق من SQL Injection وXSS وCSRF.71 - استخدم مصادقة آمنة مع Mikrotik API.