MyCodeJudge is a LeetCode clone with an integrated code judge system, designed to provide a seamless coding experience. With features such as authentication, session management, and a beautiful UI for code editing, MyCodeJudge aims to streamline the coding practice and evaluation process. The platform supports multiple programming languages, including Java, JavaScript, C++, and Python. The system ensures server safety by utilizing Docker to compile and run code in a separate environment.
-
Authentication and Session Management
- Users are required to log in to submit code for evaluation.
- Session management ensures a secure and personalized coding experience.
-
Multi-language Support
- Users can choose from a variety of programming languages, including Java, JavaScript, C++, and Python.
-
Beautiful Code Editor UI
- A sleek and intuitive code editor interface provides an enhanced coding experience.
-
Admin Panel
- Admins have the ability to add and remove coding questions, maintaining a dynamic and evolving set of challenges.
-
Server Safety with Docker
- Docker is employed to compile and run code in a separate environment, ensuring the security of the server.
-
Question Filtering
- Users can filter coding questions based on difficulty level, topic, and company tags, making it easy to find relevant challenges.
-
Frontend:
- Next.js
- Shadcn UI
- Tailwind CSS
- Axios
- Zustand
-
Backend:
- Node.js with Express
-
Database:
- MongoDB
-
Authentication:
- OAuth with Google login
-
Code Compilation:
- Docker
Include some screenshots of the user interface showcasing the code editor, question filters, and any other relevant features.
Caption: Beautiful and user-friendly code editor.
Caption: Efficient question filtering based on level, topic, and company tags.
-
Clone the repository:
git clone https://github.com/notpritam/MyCodeJudge.git
-
Install dependencies:
cd MyCodeJudge cd frontend npm install cd ../backend npm install
-
Set up the database:
- Configure MongoDB and provide the connection string.
-
Configure OAuth:
- Set up OAuth with Google login and update the configuration.
-
Run the application:
npm start
Visit http://localhost:3000 to access MyCodeJudge locally. Visit http://localhost:3001 to access MyCodeJudge Backend locally.