CodeRunner
A platform for users to sign up and run code in a secure, isolated docker container environment. Collaborate with other users in real-time using the editor.
Install / Use
/learn @PradeepKundekar0101/CodeRunnerREADME
Full-Stack Web Development Project
This project is a comprehensive full-stack web application built with modern technologies to deliver a robust, scalable, and user-friendly platform. Below is an overview of the key features and the tech stack used.
Features
1. Frontend Development (ReactJS)
- The user interface is developed using ReactJS, ensuring a seamless and interactive user experience.
- Secure user authentication is implemented using email and password.
2. Backend Development (NodeJS + MongoDB)
- The backend is built with NodeJS for managing server-side logic, while MongoDB is used for database management.
- Express is used to streamline the routing and middleware system.
3. Multi-Language Code Execution and Docker Integration
- Users can write and execute code in five different programming languages: Java, C, C++, Python, and JavaScript.
- Each code execution runs inside an isolated Docker container, ensuring security and scalability.
4. Message Queue and Job Scheduling
- BullMQ is used to schedule and manage asynchronous code execution jobs.
- A robust job queue system enhances application responsiveness and handles large volumes of code execution tasks efficiently.
5. Real-Time Collaboration and WebSocket Integration
- A real-time collaboration feature allows multiple participants to code together in a shared environment.
- Room creation and password protection are implemented using WebSocket, ensuring secure and interactive user sessions.
6. Tech Stack Diversity and CI/CD Implementation
- Tanstack Query is leveraged for efficient data fetching and mutation handling, improving data management throughout the app.
- TailwindCSS is used for responsive, mobile-first design and a modern user interface.
- Continuous Integration/Continuous Deployment (CI/CD) is managed with Jenkins, ensuring smooth deployment processes.
Tech Stack
- Frontend: ReactJS, TailwindCSS
- Backend: Node.js, Express, MongoDB
- Code Execution: Docker, BullMQ, WebSockets
- CI/CD: Jenkins
- Other Tools: Tanstack Query, Docker
Demo
Check out a demo of the application below:
https://www.youtube.com/watch?v=Z_RTv4PCIa0&t=15s
Feel free to clone this repository and explore the project further. Contributions and feedback are welcome!
