ancerlop commited on
Commit
6a3fba0
·
verified ·
1 Parent(s): 4f63785

Update README.MD

Browse files
Files changed (1) hide show
  1. README.md +18 -124
README.md CHANGED
@@ -1,124 +1,18 @@
1
- ---
2
- title: MargeCode42
3
- emoji: 🚀
4
- colorFrom: blue
5
- colorTo: indigo
6
- sdk: docker
7
- sdk_version: latest
8
- app_file: app.py
9
- pinned: false
10
- ---
11
-
12
- # 42CodeRunner - Backend
13
-
14
- Este es el backend para 42CodeRunner, un servicio que permite compilar y ejecutar código C de forma segura a través de una API REST.
15
-
16
- ## Requisitos
17
-
18
- - Python 3.8+
19
- - GCC (para compilar código C)
20
- - Docker (opcional, para ejecutar en contenedor)
21
-
22
- ## Instalación
23
-
24
- ### Instalación local
25
-
26
- ```bash
27
- # Clonar el repositorio
28
- git clone https://github.com/yourusername/42CodeRunner.git
29
- cd 42CodeRunner/backend
30
-
31
- # Crear entorno virtual (opcional pero recomendado)
32
- python -m venv venv
33
-
34
- # Activar entorno virtual
35
- # En Windows
36
- venv\Scripts\activate
37
- # En Linux/Mac
38
- # source venv/bin/activate
39
-
40
- # Instalar dependencias
41
- pip install -r requirements.txt
42
-
43
- # Ejecutar el servidor
44
- python app.py
45
- ```
46
-
47
- El servidor estará disponible en http://localhost:5000
48
-
49
- ### Instalación con Docker
50
-
51
- ```bash
52
- # Construir la imagen
53
- docker build -t 42coderunner-backend .
54
-
55
- # Ejecutar el contenedor
56
- docker run -p 5000:5000 42coderunner-backend
57
- ```
58
-
59
- ## API
60
-
61
- ### Ejecutar código C
62
-
63
- **Endpoint:** `POST /api/execute`
64
-
65
- **Cuerpo de la solicitud:**
66
-
67
- ```json
68
- {
69
- "code": "#include <stdio.h>\n\nint main() {\n printf(\"Hello, World!\\n\");\n return 0;\n}"
70
- }
71
- ```
72
-
73
- **Respuesta exitosa:**
74
-
75
- ```json
76
- {
77
- "success": true,
78
- "output": "Hello, World!\n",
79
- "error": "",
80
- "execution_time": 0.023
81
- }
82
- ```
83
-
84
- **Respuesta con error:**
85
-
86
- ```json
87
- {
88
- "success": false,
89
- "error": "main.c:3:5: error: expected ';' before 'printf'"
90
- }
91
- ```
92
-
93
- ### Verificar estado del servicio
94
-
95
- **Endpoint:** `GET /api/health`
96
-
97
- **Respuesta:**
98
-
99
- ```json
100
- {
101
- "status": "ok"
102
- }
103
- ```
104
-
105
- ## Seguridad
106
-
107
- El servicio implementa las siguientes medidas de seguridad:
108
-
109
- 1. Límite de tiempo de ejecución (5 segundos por defecto)
110
- 2. Ejecución en archivos temporales con nombres aleatorios
111
- 3. Limpieza automática de archivos temporales
112
-
113
- ## Despliegue en Hugging Face
114
-
115
- Para desplegar este servicio en Hugging Face Spaces:
116
-
117
- 1. Crea un nuevo Space en Hugging Face
118
- 2. Selecciona Docker como tipo de espacio
119
- 3. Sube los archivos del backend (incluyendo el Dockerfile)
120
- 4. ¡Listo! La interfaz de Gradio estará disponible en la URL de tu Space.
121
-
122
- ## Licencia
123
-
124
- MIT
 
1
+ # Compilador C online (42 Edition) 🚀
2
+
3
+ Este *Space* permite a los alumnos de la escuela **42** practicar C directamente desde el navegador o consumiendo la API.
4
+ Incluye:
5
+
6
+ * Interfaz visual construida con **Gradio**.
7
+ * Compilación con **GCC** y ejecución acotada (CPU ≤ 2 s, RAM ≤ 128 MB).
8
+ * Endpoint REST listo para integrarse, p. ej. con un frontend en GitHub Pages.
9
+
10
+ ---
11
+
12
+ ## 1️⃣ Usar la UI
13
+
14
+ Simplemente escribe código C, opcionalmente proporciona _stdin_, y haz clic en **Run**.
15
+
16
+ ## 2️⃣ Consumir como API REST
17
+
18
+ Cada interfaz de Gradio expone automáticamente la ruta: