Ce projet est un constructeur de code basé sur React qui utilise l'éditeur Monaco. Il permet aux utilisateurs d'écrire et d'exécuter des extraits de code dans un navigateur Web. Il utilise Judge0 comme système d'exécution de code
Suivez ces instructions pour mettre le projet en cours d'exécution sur votre machine locale.
Node.js installé sur votre machine NPM ou gestionnaire de packages de fils
Clone le référentiel de votre machine locale:
git clone <repository-url>
.env pour les soumissions de code réussiesInstallez les dépendances à l'aide de NPM ou de fil: bash
npm install
# or
yarn install
Pour commencer le projet
npm run start
Avant de commencer le projet, assurez-vous que Docker est installé. Sinon, suivez ces étapes pour installer Docker:
Windows :
Mac :
Linux :
Pour démarrer le projet à l'aide de Docker Compose:
Construisez et exécutez le projet:
# Detach mode
docker-compose up -d docker-compose up
Accéder au projet:
http://localhost:3000 .Projection de fermeture
docker-compose down
Accédez à Judge0 :
Inscrivez-vous au plan de base :
Accédez au tableau de bord RapidAPI :
Accédez à la section de l'API :
Utilisation du point de terminaison des soumissions :
X-RapidAPI-Key , X-RapidAPI-Host et l'URL ( url ) nécessaire pour les appels API. L'URL est située sous la section "Code Snippets".Copier les clés requises :
RAPIDAPI_HOST et RAPIDAPI_KEY . Ceux-ci sont nécessaires pour effectuer des appels API au système d'exécution de code.En suivant ces étapes, vous serez en mesure de configurer Judge0 pour les soumissions de code en utilisant l'infrastructure de RapidAPI, vous permettant d'exécuter et d'évaluer le code dans votre application.
https://custom-code-editor.vercel.app/.env dans votre répertoire racine et ajoutez ces valeurs: 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=""
Pour activer l'authentification GitHub pour l'éditeur de code personnalisé, suivez ces étapes:
Activer l'authentification GitHub dans la console Firebase:
Enregistrez une nouvelle application OAuth sur GitHub:
http://localhost:3000https://custom-code-editor.vercel.app/ )Récupérer l'ID client GitHub et le secret du client:
Ajoutez des informations d'identification GitHub OAuth à Firebase:
Mettre à jour les variables d'environnement:
Ouvrez votre fichier .env dans la racine de votre projet et ajoutez ce qui suit:
REACT_APP_GITHUB_CLIENT_ID=YOUR_GITHUB_CLIENT_ID
REACT_APP_GITHUB_CLIENT_SECRET=YOUR_GITHUB_CLIENT_SECRET
Remplacez YOUR_GITHUB_CLIENT_ID et YOUR_GITHUB_CLIENT_SECRET par les valeurs que vous avez copiées à partir de github.
.env.example à .env , vous pouvez exécuter la commande ci-dessous. 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
Remplacez votre_host_url, votre_secret_key et votre_submissions_url par les valeurs appropriées pour votre API rapide et les points de terminaison API juge0.
Créez un fichier .env dans le répertoire racine de votre projet s'il n'existe pas déjà. Définissez la variable d'environnement juge0_submission_url dans le fichier .env. Cette variable doit pointer vers l'URL du point de terminaison de l'API juge0 que vous souhaitez utiliser pour l'exécution de code. Par exemple: texte en clair
JUDGE0_SUBMISSION_URL=https://api.judge0.com/submissions
Remplacez https://api.judge0.com/submissions par l'URL appropriée pour votre point de terminaison de l'API juge0.
Exécution du serveur de développement Une fois la configuration terminée, vous pouvez démarrer le serveur de développement pour voir le constructeur de code React en action.
npm start
# or
yarn start
Ouvrez votre navigateur Web et accédez à http: // localhost: 3000 pour accéder à l'application.
Actuellement, l'URL du projet est basée à partir de la version gratuite de Judge0, cela signifie que le plus peut avoir 50 demandes par jour.
Les contributions sont les bienvenues! N'hésitez pas à soumettre des demandes de traction ou à des problèmes d'ouverture.
Dans l'environnement de développement sans cloud où vous pouvez commencer directement à coder.
Vous pouvez utiliser gitpod dans le cloud
N'hésitez pas à personnaliser ce Readme.md en fonction des exigences et des fonctionnalités spécifiques de votre projet. Faites-moi savoir si vous avez besoin d'aide supplémentaire!