该项目是利用摩纳哥编辑器的基于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。让我知道您是否需要进一步的帮助!