CodeRush is a dynamic, full-stack coding platform that enables users to solve programming challenges across multiple languages: C++, JavaScript, Python, and Java. With topic-based question generation, live code execution via Docker containers, and immersive visuals powered by Three.js, CodeRush helps you learn, practice, and grow—smarter and faster.
-
🎯 Topic-Based Coding Challenges
- Select a topic (e.g., arrays, loops, recursion) and receive randomized questions based on it.
-
💻 Multi-Language Code Execution
- Supports C++, JavaScript, Python, and Java with secure, isolated runtime environments powered by Docker.
-
🧠 Smart Progress Tracking
- Track your solved problems and view historical data to monitor improvement.
-
👤 User Profiles
- Store individual user activity, languages used, and topic mastery for personalized growth.
-
🌀 3D-Enhanced UI
- Built with React Three Fiber and Three.js to deliver a modern, immersive experience.
Layer | Technology Used |
---|---|
Frontend | Next.js, React, Redux, TailwindCSS |
3D Engine | Three.js, React Three Fiber |
Backend | Node.js, Express.js |
Database | MongoDB |
Code Runtime | Docker (language-specific containers) |
Auth | JWT / OAuth (based on implementation) |
- Node.js v18+
- Docker
- MongoDB (local or Atlas)
- npm / yarn
# Clone the repository
git clone https://github.com/HYDRO2070/coderush.git
cd coderush
# Install frontend & backend dependencies
npm install
# Copy environment variables
cp .env.example .env
# Start Docker daemon
docker --version # Ensure Docker is running
# Start development server
npm run dev
💡 Make sure your .env
includes:
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
DOCKER_SOCKET=/var/run/docker.sock
PORT=5000
- User selects a topic and language.
- A random question is pulled from the database based on the selected topic.
- The user writes code in the in-browser editor.
- Code is sent to the backend and executed inside a Docker container for that language.
- Output or errors are returned in real time.
- Docker-based isolated code execution
- AI-based hint system and solution feedback
- Leaderboards and community challenges
- Light/Dark mode and editor theming
- Mobile-first responsive design
- Time-based coding contests
We welcome all contributions, big or small!
# Fork the repo
# Create your feature branch
git checkout -b feature/YourFeature
# Commit your changes
git commit -m "Add YourFeature"
# Push and create a pull request
git push origin feature/YourFeature