Sistema para generar problemas de prueba mediante una API en Julia y cliente en Streamlit
- Python 3.6+ instalado y agregado al PATH
- Julia 1.6+ instalado y agregado al PATH
- Streamlit:
pip install streamlit
- Git (para clonar el repositorio)
- Paquete ArgParse.jl (se instalará automáticamente)
- Clonar el repositorio
git clone [URL_DEL_REPOSITORIO]
cd generador-problemas-tesis
- Configurar entorno virtual de Python
python -m venv venv
- Activar entorno virtual
Windows:
.\venv\Scripts\activate
Linux/Mac:
source venv/bin/activate
- Instalar dependencias de Python
pip install -r requirements.txt
julia install_dependencies.jl
cd def_problem
# Modo básico (localhost:8080)
julia api.jl
# Modo personalizado (IP y puerto específicos)
julia api.jl --ip 0.0.0.0 --port 9000
# Parámetros disponibles:
# -i/--ip: Dirección IP (default: 127.0.0.1)
# -p/--port: Puerto (default: 8080)
# --help: Muestra ayuda detallada
cd client
streamlit run index.py
setup_and_run.bat
-
API:
- Local:
http://127.0.0.1:8080/generate
- Red:
http://[IP-DEL-SERVIDOR]:[PUERTO]/generate
- Local:
-
Cliente Streamlit:
- Se abrirá automáticamente en
http://localhost:8501
- Se abrirá automáticamente en
-
Dependencias faltantes:
# Reinstalar dependencias Python pip install -r requirements.txt # Reinstalar dependencias Julia julia install_dependencies.jl
-
Puertos en uso:
# Windows: netstat -ano | findstr :<PUERTO> # Linux/Mac: lsof -i :<PUERTO>
-
Acceso en red:
- Usar
0.0.0.0
como IP en el servidor - Verificar configuración del firewall
- Usar puertos entre 1024-65535
- Usar
-
Errores de rutas:
- Ejecutar comandos desde la raíz del proyecto
- Verificar estructura de carpetas
.
├── venv/ # Entorno virtual Python
├── def_problem/
│ ├── api.jl # Servidor API (configurable)
│ └── ... # Otros archivos Julia
├── client/
│ ├── index.py # Cliente Streamlit
│ └── ... # Recursos del cliente
├── requirements.txt # Dependencias Python
├── install_dependencies.jl # Dependencias Julia
└── setup_and_run.bat # Script de ejecución para Windows
[Incluir licencia MIT, Apache, o la que corresponda]
Notas importantes:
- Para desarrollo local mantenga los valores por defecto
- En entornos de producción usar puertos seguros y firewall adecuado
- El endpoint principal de la API es
/generate
(POST)