Dieses Projekt ist ein React-basierter Code Builder, der den Monaco-Editor verwendet. Dadurch können Benutzer Code -Snippets in einem Webbrowser schreiben und ausführen. Es verwendet Richter0 als Codeausführungssystem
Befolgen Sie diese Anweisungen, um das Projekt auf Ihre lokale Maschine in Betrieb zu nehmen.
Node.js auf Ihrem Maschinen -NPM- oder Garnpaket -Manager installiert
Klonen Sie das Repository in Ihre lokale Maschine:
git clone <repository-url>
.env Datei für erfolgreiche Code-Einreichungen ausInstallieren Sie Abhängigkeiten mit NPM oder Garn: Bash
npm install
# or
yarn install
Projekt starten
npm run start
Stellen Sie vor Beginn des Projekts sicher, dass Sie Docker installiert haben. Wenn nicht, befolgen Sie diese Schritte, um Docker zu installieren:
Fenster :
MAC :
Linux :
Um das Projekt mit Docker Compose zu starten:
Bauen und führen Sie das Projekt aus:
# Detach mode
docker-compose up -d docker-compose up
Zugriff auf das Projekt:
http://localhost:3000 auf das Projekt zu.Schließen Projekt
docker-compose down
Navigieren Sie zu Richter0 :
Melden Sie sich für den Grundplan an :
Greifen Sie auf das Rapidapi -Dashboard zu :
Navigieren Sie zum Abschnitt der API :
Verwenden des Endpunkts der Einreichungen :
X-RapidAPI-Key , X-RapidAPI-Host und die URL ( url ), die für API-Anrufe benötigt wird. Die URL befindet sich unter dem Abschnitt "Code -Snippets".Kopieren Sie die erforderlichen Schlüssel :
RAPIDAPI_HOST und RAPIDAPI_KEY . Diese sind erforderlich, um API -Aufrufe an das Codeausführungssystem durchzuführen.Wenn Sie diese Schritte befolgen, können Sie Richter0 für Code -Einreichungen mithilfe der Infrastruktur von Rapidapi einrichten, mit der Sie Code in Ihrer Anwendung ausführen und bewerten können.
https://custom-code-editor.vercel.app/.env -Datei in Ihrem Stammverzeichnis und fügen Sie die folgenden Werte hinzu: 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=""
Befolgen Sie die folgenden Schritte, um die GitHub -Authentifizierung für den benutzerdefinierten Code -Editor zu aktivieren:
Aktivieren Sie die GitHub -Authentifizierung in der Firebase -Konsole:
Registrieren Sie eine neue OAuth -Anwendung auf GitHub:
http://localhost:3000https://custom-code-editor.vercel.app/ )GitHub Client -ID und Client -Geheimnis abrufen:
Fügen Sie GitHub OAuth -Anmeldeinformationen zu Firebase hinzu:
Umgebungsvariablen aktualisieren:
Öffnen Sie Ihre .env -Datei in Ihrem Projektstamm und fügen Sie Folgendes hinzu:
REACT_APP_GITHUB_CLIENT_ID=YOUR_GITHUB_CLIENT_ID
REACT_APP_GITHUB_CLIENT_SECRET=YOUR_GITHUB_CLIENT_SECRET
Ersetzen Sie YOUR_GITHUB_CLIENT_ID und YOUR_GITHUB_CLIENT_SECRET durch die von GitHub kopierten Werte.
.env.example nach .env kopieren. Sie können den folgenden Befehl ausführen. 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
Ersetzen Sie Ihren_HOST_URL, YOUR_SECRET_KEY & YOUR_SUBMENS_URL durch die entsprechenden Werte für Ihre schnellen API- und Richter0 -API -Endpunkte.
Erstellen Sie eine .env -Datei im Stammverzeichnis Ihres Projekts, wenn es noch nicht vorhanden ist. Legen Sie die Umgebungsvariable der urth -urth -submission_url in der .env -Datei fest. Diese Variable sollte auf die URL des API -Endpunkts von Richter0 hinweisen, die Sie für die Codeausführung verwenden möchten. Zum Beispiel: Klartext
JUDGE0_SUBMISSION_URL=https://api.judge0.com/submissions
Ersetzen Sie https://api.judge0.com/submissions durch die entsprechende URL für Ihren Richter0 -API -Endpunkt.
Ausführen des Entwicklungsservers Nach Abschluss der Konfiguration können Sie den Entwicklungsserver starten, um den React -Code -Builder in Aktion anzuzeigen.
npm start
# or
yarn start
Öffnen Sie Ihren Webbrowser und navigieren Sie zu http: // localhost: 3000, um auf die Anwendung zuzugreifen.
Derzeit basiert die Projekt -URL aus der kostenlosen Version von Richter0. Dies bedeutet höchstens 50 Anfragen pro Tag.
Beiträge sind willkommen! Fühlen Sie sich frei, Pull -Anfragen oder offene Probleme einzureichen.
In der Cloud-freien Entwicklungsumgebung, in der Sie direkt mit dem Codieren beginnen können.
Sie können Gitpod in der Cloud verwenden
Sie können diese readme.md an die spezifischen Anforderungen und Funktionen Ihres Projekts anpassen. Lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen!