هذا المشروع هو منشئ رمز قائم على رد الفعل يستخدم محرر موناكو. يسمح للمستخدمين بكتابة وتنفيذ مقتطفات التعليمات البرمجية داخل متصفح الويب. ويستخدم Judge0 كنظام تنفيذ رمز
اتبع هذه التعليمات للحصول على المشروع وتشغيله على الجهاز المحلي الخاص بك.
Node.js مثبتة على جهاز NPM أو مدير الغزل
استنساخ المستودع إلى جهازك المحلي:
git clone <repository-url>
.env لتقديمات الرمز الناجحتثبيت التبعيات باستخدام NPM أو الغزل: باش
npm install
# or
yarn install
لبدء المشروع
npm run start
قبل البدء بالمشروع ، تأكد من تثبيت Docker. إذا لم يكن كذلك ، اتبع هذه الخطوات لتثبيت Docker:
Windows :
ماك :
لينكس :
لبدء المشروع باستخدام Docker Compose:
بناء وتشغيل المشروع:
# Detach mode
docker-compose up -d docker-compose up
الوصول إلى المشروع:
http://localhost:3000 .إغلاق المشروع
docker-compose down
انتقل إلى Judge0 :
الاشتراك في الخطة الأساسية :
الوصول إلى لوحة معلومات Rapidapi :
انتقل إلى قسم API :
باستخدام نقطة نهاية التقديمات :
X-RapidAPI-Key و X-RapidAPI-Host و URL ( url ) اللازمة لمكالمات API. يقع عنوان URL أسفل قسم "قصاصات الكود".نسخ المفاتيح المطلوبة :
RAPIDAPI_HOST و RAPIDAPI_KEY . هذه ضرورية لإجراء مكالمات API إلى نظام تنفيذ التعليمات البرمجية.من خلال اتباع هذه الخطوات ، ستتمكن من إعداد Judge0 لتقديم الطلبات المدونة باستخدام البنية التحتية لـ Rapidapi ، مما يتيح لك تنفيذ الرمز وتقييمه داخل التطبيق الخاص بك.
https://custom-code-editor.vercel.app/.env في دليل الجذر الخاص بك وأضف هذه القيم: REACT_APP_FIREBASE_API_KEY=""
REACT_APP_FIREBASE_AUTH_DOMAIN=""
REACT_APP_FIREBASE_PROJECT_ID=""
REACT_APP_FIREBASE_STORAGE_BUCKET=""
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=""
REACT_APP_FIREBASE_APP_ID=""
لتمكين مصادقة GitHub لمحرر التعليمات البرمجية المخصصة ، اتبع الخطوات هذه:
تمكين مصادقة github في وحدة التحكم في Firebase:
قم بتسجيل تطبيق Oauth جديد على Github:
http://localhost:3000https://custom-code-editor.vercel.app/ )استرداد معرف العميل Github وسرية العميل:
أضف بيانات اعتماد Github Oauth إلى Firebase:
تحديث متغيرات البيئة:
افتح ملف .env الخاص بك في جذر المشروع الخاص بك وأضف ما يلي:
REACT_APP_GITHUB_CLIENT_ID=YOUR_GITHUB_CLIENT_ID
REACT_APP_GITHUB_CLIENT_SECRET=YOUR_GITHUB_CLIENT_SECRET
استبدل YOUR_GITHUB_CLIENT_ID و YOUR_GITHUB_CLIENT_SECRET بالقيم التي نسختها من github.
.env.example إلى .env ، يمكنك تشغيل الأمر أدناه. cp .env.example .env
REACT_APP_RAPID_API_HOST=YOUR_HOST_URL
REACT_APP_RAPID_API_KEY=YOUR_SECRET_KEY
REACT_APP_RAPID_API_URL=YOUR_SUBMISSIONS_URL
# key for docker container name
COMPOSE_PROJECT_NAME=custom_code_editor
استبدل your_host_url ، your_secret_key ، & your_submissions_url مع القيم المناسبة لنقاط نهاية واجهة برمجة التطبيقات السريعة و judge0.
قم بإنشاء ملف .env في الدليل الجذر لمشروعك إذا لم يكن موجودًا بالفعل. قم بتعيين متغير بيئة judge0_submission_url في ملف .env. يجب أن يشير هذا المتغير إلى عنوان URL لنقطة نهاية API Judge0 التي تريد استخدامها لتنفيذ التعليمات البرمجية. على سبيل المثال: نص عادي
JUDGE0_SUBMISSION_URL=https://api.judge0.com/submissions
استبدل https://api.judge0.com/submissions بعنوان URL المناسب لنقطة نهاية API الخاصة بك.
تشغيل خادم التطوير بمجرد اكتمال التكوين ، يمكنك بدء تشغيل خادم التطوير لرؤية منشئ شفرة React في العمل.
npm start
# or
yarn start
افتح متصفح الويب الخاص بك وانتقل إلى http: // localhost: 3000 للوصول إلى التطبيق.
حاليًا ، يعتمد عنوان URL للمشروع على الإصدار المجاني من Judge0 ، وهذا يعني على الأكثر يمكن أن يكون لدى المرء 50 طلبًا يوميًا.
المساهمات مرحب بها! لا تتردد في تقديم طلبات السحب أو فتح المشكلات.
في بيئة التطوير الخالية من السحابة حيث يمكنك البدء مباشرة في الترميز.
يمكنك استخدام gitpod في السحابة
لا تتردد في تخصيص هذا readme.md وفقًا للمتطلبات والميزات المحددة لمشروعك. اسمحوا لي أن أعرف إذا كنت بحاجة إلى مزيد من المساعدة!