該項目是利用摩納哥編輯器的基於React的代碼構建器。它允許用戶在Web瀏覽器中編寫和執行代碼片段。它使用Judge0作為代碼執行系統
請按照以下說明在本地計算機上啟動並運行該項目。
NODE.JS安裝在您的機器NPM或紗線軟件包管理器上
將存儲庫克隆到您的本地計算機:
git clone <repository-url>
.env文件中填寫必要的鍵以進行成功代碼提交使用NPM或紗線安裝依賴項:bash
npm install
# or
yarn install
開始項目
npm run start
從項目開始之前,請確保您安裝了Docker。如果沒有,請按照以下步驟安裝Docker:
Windows :
蘋果:
Linux :
要使用Docker組成:
建立和運行項目:
# Detach mode
docker-compose up -d docker-compose up
訪問該項目:
http://localhost:3000使用您的Web瀏覽器訪問項目。關閉項目
docker-compose down
導航到法官0:
註冊基本計劃:
訪問Rapidapi儀表板:
導航到API部分:
使用提交端點:
X-RapidAPI-Key , X-RapidAPI-Host和API調用所需的URL( url )。 URL位於“代碼片段”部分下方。複製所需鍵:
RAPIDAPI_HOST和RAPIDAPI_KEY值。這些對於執行代碼執行系統的API調用是必要的。通過遵循以下步驟,您將可以使用RapidApi的基礎架構設置裁判0來進行代碼提交,從而使您能夠在應用程序中執行和評估代碼。
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身份驗證,請按照以下步驟:
在Firebase控制台中啟用GitHub身份驗證:
在GitHub上註冊新的OAuth應用程序:
http://localhost:3000https://custom-code-editor.vercel.app/ )檢索GitHub客戶端ID和客戶端秘密:
將github oauth憑據添加到firebase:
更新環境變量:
在您的項目root中打開.env文件,並添加以下內容:
REACT_APP_GITHUB_CLIENT_ID=YOUR_GITHUB_CLIENT_ID
REACT_APP_GITHUB_CLIENT_SECRET=YOUR_GITHUB_CLIENT_SECRET
用您從github複製的值替換YOUR_GITHUB_CLIENT_ID和YOUR_GITHUB_CLIENT_SECRET 。
.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
用適合您的快速API和judge0 API端點的適當值替換your_host_url,your_secret_key和your_submissions_url。
如果該項目尚不存在,則在項目的根目錄中創建.ENV文件。在.env文件中設置julter0_submission_url環境變量。此變量應指向您要用於執行代碼的Julte0 API端點的URL。例如:明文
JUDGE0_SUBMISSION_URL=https://api.judge0.com/submissions
替換https://api.judge0.com/submissions,用適合您的judge0 API端點的URL替換。
運行開發服務器後,一旦配置完成,您就可以啟動開發服務器以查看React Code Builder的操作。
npm start
# or
yarn start
打開您的Web瀏覽器,然後導航到http:// localhost:3000來訪問該應用程序。
目前,該項目URL基於Judge0的免費版本,這意味著每天最多可以有50條請求。
歡迎捐款!隨時提交拉力請求或開放問題。
在無雲開發環境中,您可以直接開始編碼。
您可以在雲中使用gitpod
根據您的項目的特定要求和功能,請隨時自定義此readme.md。讓我知道您是否需要進一步的幫助!