عن المشروع

React-admin هو إطار عمل للواجهة الأمامية تديره marmelab لبناء تطبيقات أحادية الصفحة تعمل في المتصفح فوق REST أو GraphQL APIs. تم كتابته بلغة TypeScript وبناؤه على React وMaterial Design، ويتم توزيعه على npm باسم react-admin. استقلالية الخلفية (Backend agnosticism): يتواصل إطار العمل مع واجهات برمجة التطبيقات (APIs) من خلال محولات تسمى Data Providers. يربط ملف README بقائمة Data Provider توثق أكثر من 45 محولاً، ويوضح أن المزودين الحاليين يمكن أن يكونوا بمثابة مخطط لـ API أو يمكن كتابة Data Provider مخصص للاستعلام من API موجود. لبنات البناء: يصف المشروع توفير hooks ومكونات تغطي المصادقة، والتوجيه (routing)، والنماذج والتحقق من الصحة، وdatagrids، والبحث والتصفية، والعلاقات، والأدوار والأذونات، ومحرر نصوص غني، وi18n، والإشعارات، والقوائم، والتنسيق (theming) والتخزين المؤقت. كما يسرد مزايا مثل إمكانية الوصول، والاستجابة، والأمان، والسرعة، وقابلية الاختبار، وميزات تجربة المستخدم مثل التصيير المتفائل (optimistic rendering)، والتصفية أثناء الكتابة، والتراجع، والتفضيلات والاستعلامات المحفوظة. التخصيص: يتم تقديم react-admin كمكتبة من مكونات React وhooks مفككة الارتباط تعرض منطق تحكم قابل لإعادة الاستخدام، بحيث يمكن استبدال أي جزء بجزء خاص بك، على سبيل المثال datagrid مخصص، أو GraphQL بدلاً من REST، أو نظام تصميم مختلف بدلاً من Material Design. يتم وصف TypeScript بأنه اختياري، لذا يمكن التطوير باستخدام TypeScript أو JavaScript. يشير ملف README إلى أن إطار العمل مدعوم بواسطة Material UI وreact-hook-form وreact-router وreact-query وTypeScript، من بين أدوات أخرى. البدء: يتم التثبيت باستخدام npm install react-admin أو yarn add react-admin. تتضمن الوثائق برنامجاً تعليمياً، ومقاطع فيديو تعليمية على YouTube، ومرجعاً كاملاً لـ API. يحتوي المستودع على تطبيقات نموذجية: مدونة بسيطة تحتوي على منشورات وتعليقات ومستخدمين تُستخدم للاختبارات الشاملة (end-to-end)؛ وإدارة متجر ملصقات للتجارة الإلكترونية وهي العرض الرسمي؛ وتطبيق CRM؛ وتطبيق تذاكر مكتب مساعدة مع أقفال وإشعارات في الوقت الفعلي؛ والتطبيق الذي تم بناؤه أثناء اتباع البرنامج التعليمي. يذكر ملف README أن هذه الأمثلة تعمل بدون خادم لأن API يتم محاكاته على جانب العميل. يظهر نموذج استخدام أدنى مكون Admin يغلف مكونات Resource التي تعلن عن صفحات القائمة والتحرير والإنشاء لنقطة نهاية API، مع مكونات صفحات مبنية من List وDataTable وEdit وCreate وSimpleForm وDateField وEditButton ومكونات الإدخال. التطوير: يستخدم monorepo ملف makefile مع أوامر مثل make install وmake build وmake run-simple وmake run-demo وmake test وmake prettier. تستخدم اختبارات الوحدة jest، وتستخدم الاختبارات الشاملة cypress، ويقوم git pre-commit hook بتشغيل الاختبارات المتعلقة بالملفات المعدلة. من المتوقع أن تتبع المساهمات أسلوب الترميز الحالي القائم على prettier وأن تتضمن اختبارات وحدة وتوثيقاً. تستهدف طلبات سحب إصلاحات الأخطاء (Bugfix pull requests) فرع master، بينما تستهدف الميزات الجديدة والتغييرات الجذرية فرع next. الدعم والترخيص: يتم تقديم الدعم المجتمعي عبر Discord وStackOverflow، ويتم تقديم الدعم التجاري من خلال React-Admin Enterprise Edition. React-admin مرخص بموجب رخصة MIT وهو مجاني للاستخدام، بما في ذلك للأغراض التجارية.