Web Java Editor y Runner

Terminado

Publicado: Hace 2 meses Plazo: 4 días Propuestas: 1 Freelancers interesados: 2

Abierto

Descripción:

Realizar una interface web que permita ingresar el código de una clase Java.
La interface debe ser simple - preferiblemente React.js (no es lo más importante)
El código a ser ingresado / editado puede tener restricciones (tal vez no permitir imports o solo asumir imports de java.lang o java.util) y tambien poder usar recursos predefinidos en el servidor (como pool de conexiones a bases de datos y paquetes preestablecidos)
En principio. como prueba de concepto se puede hacer como ejemplo hacer un select de una base de datos a partir de una conexion seteada en el servidor
Entregable debe ser un war y las clases java asociadas que corra en Tomcat
La solucion debe parsear el input ingresado y ejecutarlo
(En la propuesta por favor especificar la estrategia para implementar la solucion)
No es necesario guardar el codigo ingresado (Podria ser una solucion donde en un editBox se pegue informacion)
El editor deberia admitir Tabs y Enter
La ejecucion involucraria solo una clase. Todo lo necesario para correr estaria en la clase ingresada y en los recursos disponibles en el servidor

Se pueden usar libraries libres para parsear / editar (tal vez no sea necesario parsear sino solo mostrar los errores que devuelva la compilacion y la ejecucion)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Detalles:

Como funcionará la aplicación.

Debe ser generada con maven.
package: war
Java 1.8
Spring Rest Controller

Descripcion de Caso de Uso

El sistema muestra el form que contiene basicamente
Un TextBox (Name: Nombre del componente a cargar)
Un EditBox (Que puede colorearse de acuerdo a la sintaxis - no necesario,
donde se carga el codigo Java
No se cargará el renglón class.
Cargará al menos un único método público (el método principal)
El método principal tendrá un único parámetro de entrada (que podría ser Object)
El método principal tendrá un valor de retorno que será Object
Cargará otros métodos
Podrá cargar propiedades y otras sentencias.
)
Un botón submit.
Preferentemente React.js (a lo sumo HTML pero no Angular ni jQuery)

El botón submit envía el string cargado a un servicio REST capturado por un controller de Spring

El servidor recibe como text el código cargado y completa adecuadamente la clase.
El servidor puede parsear (Este paso podría ser innecesario)

El servidor compila el string enviado
Evitar usar herramientas externas (ant y si es posible evitar llamada al sistema operativo como run javac)

Ver : soluciones del estilo
https://stackoverflow.com/questions/7989135/is-it-possible-to-programmatically-compile-java-source-code-in-memory-only

Existirá otra página
Form
identificador de la clase ingresada previamente
uno o dos datos (Ejemplo: Cliente.nombre (String) / Cliente.edad (int))
y se enviará como JSON en Serivicio REST implementado con Spring
En el backend se tomarán los datos ingresados
Conformarán el objecto que se le pasará al método creado en el form anterior
Se ejecutará la clase
Devolverá como resultado
El objeto que devuelve el método público
(Puede ser mostrado en un log o con println o devuelto al frontend)
Si se genera un error devolverá El stacktrace del error

El código Java ingresado sólo hará referencia a clases básicas de java
java.lang
java.util

y a recursos disponibles en el servidor

(Los imports de los recursos disponibles en el servidor (Ejemplo un DataSource)
pueden ser agregados en el backend una vez que se reciba el String del editBox)



Categoría: IT & Programación
Subcategoría: Programación Web
¿Cuál es el alcance del proyecto?: Bug o cambio pequeño
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo una idea
Experiencia en este tipo de proyectos: Si (He administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Según se necesite
Roles necesarios: Desarrollador
Integraciones de API: Otros (Otras APIs)

Freelancers que ya aplicaron para este trabajo

Andres E. I'm a detailed and proactive developer with 2 years of experience. I worked as a Java developer using Eclipse RCP, Hibernate, Postgres, Git, Jenkins, Maven, JUnit, Sikuli, among others. I also worked as Runtime Oracle... + detalles

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.

Método de pago: Verificado

Otros proyectos de este cliente

Para ver más detalles del cliente

Ingresa a Workana