Simulador de exámenes de certificación con Streamlit.
cd MyVCE_Funcional
pip install -r requirements.txt
python -m streamlit run app.py --server.port 8502cd MyVCE_Funcional
pip install -r requirements.txt
python -m streamlit run app.py --server.port 8502La aplicación se abrirá en: http://localhost:8502
- Python 3.10+
- Streamlit 1.54+ (para timer optimizado)
- Google Gemini API Key (opcional, para OCR)
streamlit>=1.54.0
streamlit-autorefresh>=1.0.0
google-genai>=1.0.0
Pillow>=10.0.0
opencv-python>=4.8.0
numpy>=1.24.0
cryptography>=41.0.0
Nota: Se requiere Streamlit 1.54+ para mejor rendimiento del timer (soporte nativo de fragments).
- Añadir preguntas directamente desde el formulario
- Soporte para imágenes adjuntas
- Multiple choice con hasta 6 opciones
- Soporte para preguntas de respuesta múltiple
- Tags para agrupar preguntas por vendor/categoría
- Extraer preguntas desde imágenes usando Google Gemini
- Procesamiento automático de imágenes
- Validación de preguntas extraídas
- Asignación de tags al importar
- Ver todas las preguntas disponibles
- Filtrar por tag y texto
- Editar tags inline y eliminar preguntas
- Importar/Exportar en formato ZIP (incluye imágenes)
- Modo Práctica: Sin límite de tiempo, feedback inmediato
- Modo Examen: Temporizador configurable, evaluación final
- Filtrado por tags y rango ordinal
- Orden aleatorio por defecto
- Navegación entre preguntas
- Seguimiento de progreso
- Timer en tiempo real con cuenta regresiva
Para usar la función de OCR:
- Ir a: https://makersuite.google.com/app/apikey
- Crear una API Key de Google Gemini
- En la app, ingresar la clave cuando lo solicite
MyVCE_Funcional/
├── app.py # Código fuente principal
├── requirements.txt # Dependencias de Python
├── README.md # Esta documentación
├── src/ # Módulos auxiliares
│ ├── paths.py # Gestión de rutas
│ ├── api_key_manager.py # Almacenamiento seguro de API keys
│ └── __init__.py
└── build/ # Scripts de compilación
- La app usará automáticamente otro puerto disponible
- Especificar puerto:
python -m streamlit run app.py --server.port 8503
- Las imágenes deben estar en formato PNG, JPG o JPEG
- El timer usa
streamlit-autorefreshpara actualizarse cada segundo - Verificar que el paquete está instalado:
pip install streamlit-autorefresh
python -m streamlit run app.py --server.port 8502 --server.reload trueWindows:
build\build_windows.batLinux:
build/build_linux.sh