Skip to content

RahulGurav82/CodeCastCompile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Code-Cast-Compile 🚀

A real-time collaborative coding platform that enables multiple users to write, edit, and compile code simultaneously in a shared environment.

Live Demo React Socket.io Express

📸 Screenshots

Main Coding Interface

Main Interface Real-time collaborative coding environment with multi-language support

Code Compilation

Room Creation Create rooms, invite collaborators, and code together in real-time

✨ Features

  • Real-time Collaboration: Multiple users can write and edit code simultaneously
  • Multi-language Support: Compile and run code in various programming languages
  • Room-based Sessions: Create private rooms for team collaboration
  • Live Terminal: Real-time terminal updates shared across all participants
  • Code Compilation: Integrated compiler with output rendering in the browser
  • File Download: Download your code files locally
  • Responsive Design: Works seamlessly across different devices
  • User-friendly Interface: Clean and intuitive design for enhanced productivity

🛠️ Tech Stack

Frontend

  • React 19 - Modern React framework with latest features
  • TailwindCSS - Utility-first CSS framework for responsive design

Backend

  • Express.js - Fast and minimalist web framework
  • Socket.io - Real-time bi-directional communication

External APIs

  • JDoodle API - Multi-language code compilation and execution

Deployment

  • Vercel - Frontend deployment platform

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • JDoodle API credentials

Installation

  1. Clone the repository

    git clone https://github.com/rahulgurav82/Code-Cast-Compile.git
    cd Code-Cast-Compile
  2. Install frontend dependencies

    cd frontend
    npm install
  3. Install backend dependencies

    cd ../backend
    npm install
  4. Environment Setup

    Create a .env file in the backend directory:

    JDOODLE_CLIENT_ID=your_jdoodle_client_id
    JDOODLE_CLIENT_SECRET=your_jdoodle_client_secret
  5. Start the development servers

    Backend server:

    cd backend
    npm run dev

    Frontend server (in a new terminal):

    cd frontend
    npm start
  6. Access the application Open your browser and navigate to http://localhost:5173

📱 How to Use

For Hosts (Room Creation)

  1. Visit the application homepage
  2. Click "Create Room" to generate a new collaboration session
  3. Share the room ID with your team members
  4. Start coding collaboratively!

For Clients (Joining Rooms)

  1. Visit the application homepage
  2. Enter the room ID provided by the host
  3. Click "Join Room"
  4. Begin collaborating in real-time

Collaborative Features

  • Live Code Editing: See changes from other users in real-time
  • Terminal Sharing: View compilation results and outputs together
  • Multi-language Support: Switch between different programming languages
  • File Management: Download your collaborative work

🔧 API Integration

The platform integrates with JDoodle API to provide:

  • Multi-language code compilation
  • Real-time output rendering
  • Support for popular programming languages (Python, Java, C++, JavaScript, etc.)

🌐 Deployment

The application is deployed on Vercel and accessible at: https://code-cast-compile.vercel.app/

Deploy Your Own Instance

  1. Frontend Deployment (Vercel)

    cd frontend
    vercel --prod
  2. Backend Deployment Deploy the backend to your preferred platform (Heroku, Railway, etc.) Update the frontend API endpoints accordingly

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

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

🙏 Acknowledgments

  • JDoodle API for providing code compilation services
  • Socket.io for real-time communication capabilities
  • Vercel for seamless deployment platform

📞 Contact

For questions or support, please reach out:


Star this repository if you found it helpful!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages