Welcome to the Online Code IDE! This platform allows users to write, test, and run code in an online, collaborative, and user-friendly environment. Currently, it supports HTML, CSS, and JavaScript, with plans to expand to more programming languages.
- Real-Time Collaboration: Collaborate with other developers and work on projects together, seeing live updates as you type.
- Multiple Language Support: Currently supports HTML, CSS, and JavaScript, with plans to add more languages.
- Live Code Execution: Instantly run and test your code without leaving the IDE.
- User Authentication: Secure login and account management to personalize your experience.
- Intuitive User Interface: Simple and easy-to-navigate interface to focus on coding.
- Save and Load Projects: Save your work, reload projects, and come back to where you left off.
- Frontend: React.js, TailwindCSS
- Backend: Node.js, Express.js
- Database: MongoDB (for user management and project storage)
- Real-Time Collaboration: Socket.IO
- Code Execution: Docker (for secure and isolated code execution)
To get a local copy up and running, follow these simple steps:
-
Clone the repo
git clone https://github.com/0xYujan/online-code-ide.git
-
Install dependencies
cd online-code-ide npm install
-
Set up environment variables by creating a
.env
file and adding your environment-specific configurations (e.g., MongoDB URI, secret keys). -
Run the development server
npm start
The app should now be running on http://localhost:3000.
Here’s what’s coming next for the project:
- Expand support to additional programming languages (e.g., Python, Java, C++).
- Improve real-time collaboration tools for more seamless teamwork.
- Enhance the code editor with features like code suggestions, syntax highlighting, and auto-completion.
- Optimize the performance and scalability of the backend.
Contributions are welcome! If you have any ideas or improvements, feel free to fork the repo and submit a pull request. Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature-name
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature-name
) - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.