Mojo Land هو إطار عمل مرن لبناء واجهات برمجة التطبيقات (APIs) بشكل ديناميكي. يتميز بقدرته على التعامل مع نقاط النهاية (endpoints) بشكل مرن، وإمكانيات متقدمة للترشيح والفلترة، وإدارة ذكية للبيانات.
- يتم تعريف نقاط النهاية بشكل ديناميكي في قاعدة البيانات.
- كل نقطة نهاية لها خصائص مثل الطريقة (method)، الجدول (table)، والأعمدة (columns).
- يدعم النظام مجموعة واسعة من عمليات الترشيح مثل:
- المساواة (eq)
- أكبر من (gt)
- أصغر من (lt)
- يشبه (like)
- في (in)
- وغيرها
- يمكن تحديد الفلاتر المسموح بها لكل نقطة نهاية.
- يتم تحديد الأعمدة المسموح بقراءتها أو كتابتها لكل نقطة نهاية.
- يتم التحقق من الأعمدة المرسلة في طلب الإنشاء أو التحديث للتأكد من أنها مسموح بها.
- يدعم النظام التحقق من الصلاحيات بناءً على أدوار المستخدمين.
- يمكن تحديد الصلاحيات لكل طريقة (GET, POST, PUT, DELETE) بشكل منفصل.
- يدعم النظام تنفيذ وظائف مخصصة محددة لكل نقطة نهاية.
- يمكن كتابة هذه الوظائف كنصوص برمجية وتخزينها في قاعدة البيانات.
- يوفر النظام إمكانية تسجيل الأحداث والأخطاء.
- يدعم النظام عمليات الإنشاء والقراءة والتحديث والحذف بشكل مباشر.
- لغة البرمجة: TypeScript/JavaScript
- بيئة التشغيل: Deno
- قاعدة البيانات: Supabase (PostgreSQL)
- إطار العمل الويب: Hono
-
تعريف نقطة نهاية جديدة:
- أضف سجل جديد في جدول
mojos
مع تحديد الخصائص المطلوبة.
- أضف سجل جديد في جدول
-
استخدام نقطة النهاية:
- قم بإرسال طلب HTTP إلى النقطة المحددة مع توفير رمز الوصول (token) المناسب.
-
تخصيص السلوك:
- يمكن تخصيص سلوك كل نقطة نهاية عن طريق تعديل خصائصها في قاعدة البيانات.
Mojo Land يوفر نظامًا قويًا ومرنًا لبناء واجهات برمجة تطبيقات ديناميكية. من خلال استخدام قاعدة بيانات لتخزين تعريفات نقاط النهاية، يمكن تغيير سلوك API بسهولة دون الحاجة إلى إعادة نشر الكود.
deno run --allow-net --allow-env main.ts