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.
- The user interface is developed using ReactJS, ensuring a seamless and interactive user experience.
- Secure user authentication is implemented using email and password.
- 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.
- 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.
- 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.
- 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.
- 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.
- Frontend: ReactJS, TailwindCSS
- Backend: Node.js, Express, MongoDB
- Code Execution: Docker, BullMQ, WebSockets
- CI/CD: Jenkins
- Other Tools: Tanstack Query, Docker
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!