BeatCode : Your go-to platform for seamless remote coding, collaboration, and practice.
Welcome to BeatCode, your ultimate coding companion! With a sleek interface and powerful functionality, BeatCode offers:
- Online compiler for seamless code execution.
- Practice problems akin to LeetCode for honing your skills.
- Code room , enabling collaborative coding with video call support.
Experience coding like never before with BeatCode.
- Enhanced security with code sanitization and isolated Docker containers for each run, ensuring host machine integrity.
- Implemented Socket IO rooms for collaborative coding, optimizing resource usage with limited time and memory constraints.
- Utilized MongoDB for efficient data storage and retrieval in the practice problem section, offering a seamless learning experience.
- Integrated Google authentication for streamlined user access and authentication, ensuring a secure and personalized environment.
- Leveraged Docker technology to encapsulate code execution environments, used Socket IO for real-time collaboration, and MongoDB for data management, ensuring a robust and scalable platform.
Client : React JS , Tailwind
Server : Node JS , Express JS , Docker
Database : MongoDB
- Question Page
- Practice Problems List
- Successfull Submission
- Code Room
- Online Compiler
- Leaderboard Page
- docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Clone the project
git clone https://github.com/PalashChitnavis/BeatCode
Go to the backend project directory
cd BeatCode/backend
Install dependencies
npm install
Build the Docker images
cd BeatCode/backend/DockerFiles
sudo docker build -t java:v1 ./java
sudo docker build -t cpp:v1 ./cpp
sudo docker build -t py:v1 ./python
- To start the backend server in Development mode
cd BeatCode/backend
npm run dev
- To start the frontend server in Development mode
cd BeatCode/frontend
npm run dev
Create a .env file , in both backend and frontend .
Frontend .env
VITE_FRONTEND_URL=http://localhost:5173
VITE_BACKEND_URL=http://localhost:3000
Backend .env
PORT=3000
DB_URL=mongodb://localhost:27017/BeatCodeSample
GOOGLE_CLIENT_ID=YouCannotHaveGoogleSignUpInTheSample
GOOGLE_CLIENT_SECRET=GoWatch12AngryMen
FRONTEND_URL=http://localhost:5173
BACKEND_URL=http://localhost:3000
You cannot have Google Authentication when you run the project locally