GitHunt
NI

Nischaya008/CodeHiveNG

CodeHiveNG is a real-time collaborative coding platform with multi-language support, live code execution, secure authentication, and seamless file management. Built with React, Node.js, and Pusher for instant updates, it’s optimized for teams and individuals.

CodeHiveNG

CodeHiveNG Banner

🚀 CodeHiveNG is a real-time collaborative coding platform designed to help developers write, execute, and manage code together seamlessly. With support for multiple programming languages, live code synchronization, and a modern IDE, CodeHiveNG empowers teams to build and innovate efficiently.

🌟 Features

🔥 Real-time Code Collaboration

  • Multi-user simultaneous editing
  • Live code synchronization
  • Visual indicators for active users

🛠️ Multi-language Support

Supports 7 programming languages:

  • JavaScript (v18.15.0)
  • Python (v3.10.0)
  • Java (v15.0.2)
  • C (v10.2.0)
  • C++ (v10.2.0)
  • C# (v6.12.0)
  • Go (v1.16.2)

⚡ Code Execution

  • Live compilation & execution
  • Input/Output terminal support
  • Execution result sharing

📂 File Management

  • Create & save multiple files
  • Automatic file extension handling
  • File history and version tracking

🔐 User Authentication

  • Secure signup/login system
  • JWT-based authentication
  • Session management

🎯 Room Management

  • Private coding rooms
  • Unique room IDs for access sharing
  • Recent rooms history

🏗️ Technology Stack

Frontend

  • React.js (v18.3.1)
  • Material-UI (MUI) v6
  • Monaco Editor
  • Pusher.js (real-time updates)
  • Axios (API communication)
  • Tailwind CSS (styling)

Backend

  • Node.js with Express.js
  • MongoDB with Mongoose
  • Pusher (WebSocket communication)
  • JWT (authentication)
  • bcrypt (password hashing)

Deployment

  • Vercel for hosting
  • CORS security
  • Error handling & logging

🏛️ Architecture

Frontend Architecture

  • Component-based structure using React
  • State Management:
    • Local state with React hooks
    • Real-time sync using Pusher
    • JWT for authentication

Backend Architecture

  • Follows MVC (Model-View-Controller) pattern
  • Secure API with authentication & role-based access

Real-time Collaboration

  • Implemented using Pusher.js for instant updates

Code Execution

  • Powered by Piston API for secure & efficient code execution

User Interface

  • Modern dark theme with neon accents
  • Responsive design: Mobile-first, adaptive layouts
  • Smooth animations and custom scrollbars

🚀 Deployment

CodeHiveNG is fully optimized for deployment on Vercel.


📌 Pros & Benefits

🌟 Developer Experience

✅ Intuitive UI & UX
✅ Real-time collaboration
✅ Multi-language support
✅ Integrated code execution

⚡ Performance

✅ Optimized real-time updates
✅ Efficient code synchronization
✅ Fast execution times
✅ Responsive design

🔒 Security

✅ JWT authentication
✅ Secure WebSocket connections
✅ API protection & input sanitization

🚀 Scalability

✅ Microservices architecture
✅ Separate frontend & backend
✅ Database optimization
✅ Efficient state management

🔧 Maintainability

✅ Modular components
✅ Clean & well-documented codebase
✅ Comprehensive error handling


🔮 Future Enhancements

🔜 Planned Features

  • 📹 Video/Audio chat integration
  • 🏆 More programming languages
  • 🎨 Custom themes
  • 📂 Code snippets library

🔧 Technical Improvements

  • 📶 Offline support
  • Performance optimizations
  • 🔒 Enhanced security features
  • 👥 Advanced collaboration tools

🎯 Getting Started

1️⃣ Clone the repository

git clone https://github.com/Nischaya008/CodeHiveNG

2️⃣ Install dependencies

cd frontend
npm install  # Install frontend dependencies
cd CodeHiveNG
npm install  # Install backend dependencies

3️⃣ Start the development server

# Start frontend
cd frontend
npm start

# Start backend
cd backend
npm run dev

4️⃣ Open in browser

http://localhost:3000

🤝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests to enhance CodeHiveNG. 🚀

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature-name)
  3. Commit changes (git commit -m 'Add feature')
  4. Push to the branch (git push origin feature-name)
  5. Open a pull request

📝 License

This project is licensed under the MIT License. See the LICENSE file for details.


📞 Contact

For any inquiries or feedback, reach out via:

Stay Innovated, Keep Coding, Think BIG! 🚀