A collaborative in-browser IDE that pairs users to solve algorithm and data-structure problems built over a 3-day hackathon.
To run this project, you will need to add the following environment variables to your .env file
REACT_APP_FIREBASE_API_KEY
REACT_APP_FIREBASE_AUTH_DOMAIN
REACT_APP_FIREBASE_DATABASE_URL
REACT_APP_FIREBASE_PROJECT_ID
REACT_APP_FIREBASE_STORAGE_BUCKET
REACT_APP_FIREBASE_MESSAGING_SENDER_ID
REACT_APP_FIREBASE_APP_ID
REACT_APP_JUDGE0_API_KEY
You will need to setup a Firebase Account for the first 7 keys. You will need to setup a RapidAPI account and subscription to Judge0 API for the final key.
- Firebase Authorization
- Cloud Firestore CRUD functionality
- Private and Public routes
- Password reset
- Codemirror in-browser IDE
- Compile and execute 20+ languages with judge0 API
- Bootstrap component styling
- Socket.io implementation to create a collaborative IDE and code compilation/execution
Fork, clone and navigate into the root directory. Install dependencies:
npm i
Start the development server on port 3000
npm run start
In a separate terminal window, navigate into /src/server and run 'nodemon index.js' to start the socket server on port 8000.
nodemon index.js
-
Tech Debt/Clean up
-
Improve random matching functionality
-
Create database of problems that each paired instance will reference
-
Add payment rails
-
Add different modes (i.e. competitive, CSS/styling challenges)