Giter VIP home page Giter VIP logo

hardikkum444 / online-java-compiler-ide Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 190 KB

This repository contains a Java program that acts as an HTTP and socket server. It allows users to send Java code via HTTP requests or socket connections. The server compiles the received Java code, executes it, and returns the output to the user.Users can interact with the server to compile and run Java code remotely.

Java 74.02% HTML 6.36% JavaScript 7.93% CSS 11.69%
backend-service compiler http ide java socketserver

online-java-compiler-ide's Introduction

Java HTTP and Socket Server for Compiling User-Provided Java Code

(hosting online VM pending)
(website yet to be deployed)

Image 1 Image 2

Overview

This repository contains a Java program that serves as an HTTP and socket server capable of compiling and executing user-provided Java code remotely. The server offers a simple and secure way for users to submit Java code snippets, which are then compiled and executed on the server-side environment. This README provides an overview of the project, its features, usage instructions, technologies used, and how to contribute.

Duration

This project took me a total of 4-5 days to make.
The first 3 days were used to hard code the backend using java, and the next 1-2 days were utilised in cleaning the code and also making a minimal frontend

Key Features

  • HTTP and Socket Server: Implements both HTTP and socket communication protocols, allowing users to choose their preferred method of interaction.

  • Java Code Compilation: Dynamically compiles the Java code provided by users on-the-fly.

  • Code Execution: Executes the compiled Java code and returns the output to the user.

  • ACE code editor: Has been embedded to provide features like text highlighting, auto-completion, find text functionality etc etc

Technologies Used

  • Java: The core programming language used to develop the server application.

  • HTTP Server: Leveraged Java's built-in HTTP server capabilities for handling HTTP requests.

  • Socket Programming: Utilized Java's socket API for establishing socket connections and communication.

  • IOutils.class: Implemented a custom class to provide utility to the socket server

Usage

  1. Running the Server: Execute the ServerLogic.java file to start the server on the desired host and port.

  2. Submitting Java Code: Users can submit Java code either via HTTP POST requests or by establishing socket connections.

  3. Receiving Output: Upon receiving Java code, the server compiles and executes it. Users receive the output or error messages generated by the code execution process.

Repository Structure

  • ServerLogic.java: The main Java source file containing the server implementation.

  • IOutils.class: Utility class providing methods for creating input and output streams for sockets and processes.

Contributing

Contributions to this project are welcome! If you find any bugs, have feature requests, or want to contribute improvements, please submit a pull request. Make sure to adhere to the project's coding standards and guidelines.

License

License

This project is licensed under the MIT License.

online-java-compiler-ide's People

Contributors

hardikkum444 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.