- Víctor Hugo Oliveira Petroceli
- Samuel Melián Benito
- Jaime Ochoa de Alda Cerdán
- Naroa Martín Simón
- Nerea Morocho Soria
- David Martín Sanz
Levelest
Levelest es una aplicación educativa diseñada para ayudar a los estudiantes a preparar la EVAU (PAU) de forma dinámica, motivadora y competitiva. Permite realizar tests por asignatura, obtener estadísticas visuales, competir en un ranking global y gestionar completamente la cuenta de usuario.
La aplicación cuenta con un backend y base de datos dockerizados, conectados mediante una API, y se ejecuta de forma segura usando HTTPS. 🎓📈
- 🔐 Registro de usuario
- 🔑 Inicio y cierre de sesión
- 🌗 Modo claro / modo oscuro
- 📝 Tests aleatorios por asignatura
- 🏆 Ranking global según puntos obtenidos
- Puntuación = nota del test × 10
- 📊 Estadísticas con gráficos de aciertos y fallos
- 🗑️ Eliminación de cuenta
- 🔄 Persistencia de datos mediante API
- 🐳 Backend, frontend y base de datos mediante Docker
- Frontend: React ⚛️
- Backend: Node.js + Express 🚀
- Lenguaje: JavaScript / TypeScript
- Base de datos: Gestionada mediante API
- Contenedores: Docker & Docker Compose 🐳
- Diseño: Figma / Miró 🎨
Important
La aplicación DEBE ejecutarse usando HTTPS y Docker Desktop.
Antes de comenzar, asegúrate de tener instalado:
- Docker Desktop 👉 Descargar Docker Desktop
- Node.js (opcional, solo para desarrollo local) 👉 Descargar Node.js
- Abre Docker Desktop.
- Espera a que Docker esté completamente iniciado.
- Abre la terminal integrada de Docker Desktop (o tu terminal de preferencia).
-
Accede al repositorio de Docker Hub: 👉 Repositorio granlobo2004/levelestapp-compose
-
Copia el tag más reciente (última versión disponible).
-
En la terminal ejecuta el tag copiado, por ejemplo:
docker compose -f oci://granlobo2004/levelestapp-compose:1.0.0 up
Docker levantará automáticamente:
- Frontend
- Backend
- API
- Base de datos
Abre tu navegador y entra en:
Warning
Es obligatorio usar HTTPS. Si el navegador muestra una advertencia de seguridad (debido al certificado autofirmado local), acepta el riesgo y continúa.
- Abre Docker Desktop.
- Ve a la sección Containers.
- Busca el contenedor llamado
web-1(olevelest-web). - Pulsa el botón Start
▶️ manualmente.
Si ya habías montado una versión anterior y quieres usar una nueva:
-
Detén los contenedores activos.
-
Elimina los contenedores antiguos y las imágenes antiguas de Levelest.
-
Ejecuta los siguientes comandos de limpieza:
docker container prune docker image prune
-
Vuelve a descargar la nueva versión desde Docker Hub (es decir, copia el nuevo enlace en tags).
-
Repite los pasos de ejecución.
Note
No borrar versiones antiguas puede provocar errores de montaje.
Desde la carpeta raíz del proyecto:
npm installnpm run watchLa aplicación estará disponible en:
http://localhost:3000
Si tienes problemas, verifica tus versiones:
node -v
npm -v- Puertos ocupados: Cambia el puerto si el
3000o3443están en uso. - Dependencias: Si falla, borra la carpeta
node_modulesy ejecutanpm installde nuevo. - Directorios: Asegúrate de ejecutar los comandos en el directorio raíz correcto del proyecto.
Proyecto desarrollado con dedicación, aprendizaje y trabajo en equipo, combinando educación y tecnología para mejorar la preparación de la EVAU.
Para ejecutar la aplicación, puedes usar el siguiente comando con Docker Compose. Asegúrate de tener Docker y Docker Compose instalados en tu máquina antes de continuar.
- Docker instalado en tu máquina.
- Docker Compose instalado (si no lo tienes, puedes instalarlo siguiendo la documentación oficial).
-
Abre una terminal en la carpeta de tu proyecto.
-
Ejecuta el siguiente comando para lanzar los servicios definidos en el archivo
docker-compose.yml:docker compose -f oci://granlobo2004/levelestapp-compose:1.0.0 up