Этот проект представляет собой строитель кода на основе React, который использует редактор Monaco. Это позволяет пользователям писать и выполнять фрагменты кода в веб -браузере. Он использует судью0 в качестве системы выполнения кода
Следуйте этим инструкциям, чтобы запустить проект на местной машине.
Node.js установлен на вашей машине NPM или диспетчера пакетов пряжи
Клонировать репозиторий к местной машине:
git clone <repository-url>
.env для успешных материалов кодаУстановить зависимости с использованием NPM или пряжи: Bash
npm install
# or
yarn install
Чтобы начать проект
npm run start
Перед началом проекта убедитесь, что у вас установлен Docker. Если нет, следуйте этим шагам для установки Docker:
Windows :
Mac :
Linux :
Чтобы начать проект, используя Docker Compose:
Создайте и запустите проект:
# Detach mode
docker-compose up -d docker-compose up
Получить доступ к проекту:
http://localhost:3000 .Близкий проект
docker-compose down
Перейдите к судье 0 :
Подпишитесь на базовый план :
Получите доступ к приборной панели Rapidapi :
Перейдите к разделу API :
Используя конечную точку представления :
X-RapidAPI-Key , X-RapidAPI-Host и URL ( url ), необходимый для вызовов API. URL расположен под разделом «фрагменты кода».Скопируйте необходимые ключи :
RAPIDAPI_HOST и RAPIDAPI_KEY . Они необходимы для выполнения вызовов API в систему выполнения кода.Следуя этим шагам, вы сможете настроить Dudge0 для предложений кода, используя инфраструктуру 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 с соответствующими значениями для вашего быстрого API и API -конечных точек.
Создайте файл .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 -адрес проекта базируется из бесплатной версии Dude0. Это означает, что максимум может иметь 50 запросов в день.
Взносы приветствуются! Не стесняйтесь отправлять запросы на привлечение или открыть проблемы.
В среде разработки без облаков вы можете напрямую начать кодирование.
Вы можете использовать gitpod в облаке
Не стесняйтесь настроить этот readme.md в соответствии с конкретными требованиями и функциями вашего проекта. Дайте мне знать, если вам нужна дополнительная помощь!