Code Room is an unbelievably fast online code editor and compiler which allows you for real time collaboration.
- Multi-language Support: Compile code in multiple programming languages.
- Monaco Editor: Enjoy the same code editing experience as in VS Code, with features like indentation, syntax highlighting, and IntelliSense.
- Real-time Collaboration: Code together with others in real-time.
- Integrated Chat: Communicate seamlessly with your fellow collaborators.
- Supported Language : JavaScript, Python, C++
Ensure NodeJS and MySQL is installed on your machine
git clone <link of this repo>
cd CodeRoom
To start React App
npm install
npm run dev
To start server
cd server
npm install
npm start
On you favourite browser
http://localhost:5173/
voilà! You are ready to swing.
- React In front end
- Nodejs and Express server on backend
- MySQL for Database Management
- Tailwind for Style
- Password Encryption using bcrypt hashing
- Authentication using JWT, with ft. like OTP using NodeMailer.
- Monaco Editor for code IntelliSense and edit
- Language specific compiler for code compilation using docker
- (Language - Compiler) = Javascript - Nodejs(runtime), Python - python3, C++ - gcc
- Socket.io for websocket (Real time communication)
- Terniary Operator
- Server is running on port :
5001
Make sure your .env file inside server directory looks something like this:
#For MYSQL Database
DB_HOST = localhost
DB_USER = root
DB_PASS = <your password>
DB_NAME = users
DB_TABLE_NAME = userstable
#For OTP Database
DB_OTP_TABLE_NAME = otpverification
OTP_EMAIL_SENDER = <me@gmail.com>
#For OTP Nodemailer
OTP_APP_PASSWORD = <Application password>
OTP_EXPIRY = 5* #In mins
#For json web token
JWT_SECRET = <IHaveNoSecrets>
JWT_LIFETIME = '1hr'
#For docker setup
PYTHON_TAG = 'sha256:cf2c...'
JS_TAG = 'sha256:cfa2266c...'
CPP_TAG = 'sha256:2321d3c...'
How to Setup Docker
-Build an docker image, "docker build <path where dockerfile is present>"
-Copy the image tag of particular image
-Paste it in the .env file located inside server directory
Ostrich-egg
Adarsha
Pranaya-sht
XGPher35
This is Third semister project.