Skip to content

Your go-to platform for seamless remote coding, collaboration, and practice. (BeatCode is temporarily down as were upgrading it to v2)

Notifications You must be signed in to change notification settings

PalashChitnavis/BeatCode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 

Repository files navigation

Cover

BeatCode

BeatCode : Your go-to platform for seamless remote coding, collaboration, and practice.

Demo Video & Live Link

Demo Video        Live Link

Authors

About The Project

HomePage

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.

Features

  1. Enhanced security with code sanitization and isolated Docker containers for each run, ensuring host machine integrity.
  2. Implemented Socket IO rooms for collaborative coding, optimizing resource usage with limited time and memory constraints.
  3. Utilized MongoDB for efficient data storage and retrieval in the practice problem section, offering a seamless learning experience.
  4. Integrated Google authentication for streamlined user access and authentication, ensuring a secure and personalized environment.
  5. 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.

Build With

Client : React JS , Tailwind

Server : Node JS , Express JS , Docker

Database : MongoDB

Screenshots

  1. Question PageApp Screenshot
  2. Practice Problems List App Screenshot
  3. Successfull Submission App Screenshot
  4. Code Room App Screenshot
  5. Online Compiler App Screenshot
  6. Leaderboard Page App Screenshot

Prerequisites

  • docker
	curl -fsSL https://get.docker.com -o get-docker.sh
	sudo sh get-docker.sh

Run Locally

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

Usage

  • 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

Environment Variables

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


About

Your go-to platform for seamless remote coding, collaboration, and practice. (BeatCode is temporarily down as were upgrading it to v2)

Resources

Stars

Watchers

Forks

Languages