Imagen de portada para Cortex
Completado
Calificación: 7.0/7.0

Cortex

Plataforma educativa de código abierto para el aprendizaje de tecnologías de la información y programación.

open-source
education
spring-boot
nuxtjs
tauri
docker
postgresql

¿Qué es Cortex?

Cortex es una plataforma educativa de código abierto diseñada para facilitar el aprendizaje de tecnologías de la información y programación, enfocada principalmente en jóvenes y niños hispanohablantes. El proyecto busca democratizar el acceso a la educación tecnológica, ofreciendo una experiencia de aprendizaje interactiva, accesible y actualizada.

Este proyecto fue desarrollado como parte de la asignatura Capstone en Duoc UC Puente Alto, sección 002D.

Características principales

La plataforma se divide en tres componentes:

  • Backend: Construido con Java 21 y Spring Boot, utilizando PostgreSQL como base de datos. Gestiona usuarios, cursos y recursos educativos. Implementa autenticación y autorización mediante JWT. Uno de los mayores logros fue desarrollar un motor de ejecución de código en tiempo real, basado en contenedores Docker, capaz de ejecutar código de forma segura en varios lenguajes ( Python, Java, TypeScript, Rust y C#).

  • Frontend: Desarrollado con Nuxt 3. Presenta la plataforma de manera amigable e interactiva, gestionando usuarios, cursos y recursos educativos. Integra un editor de código en línea basado en CodeMirror.

  • Aplicación de escritorio: Creada con Tauri y Rust, como una versión “premium” enfocada en uso administrativo. Ofrece la misma experiencia que la web, pero en formato de escritorio.

Tecnologías utilizadas

  • Backend: Java 21, Spring Boot, PostgreSQL, Docker, Redis, RabbitMQ, MapStruct.
  • Frontend: Nuxt 3, Vue.js, Tailwind CSS, CodeMirror.
  • Escritorio: Tauri, Rust, Vue.js, Tailwind CSS, CodeMirror.
  • Otros: Docker Compose, GitHub Actions, LemonSqueezy para pagos.

Retos y aprendizajes

  • El principal reto fue gestionar el tiempo limitado del semestre mientras desarrollábamos una plataforma tan ambiciosa.
  • Aprendimos a organizar un proyecto grande en un monorepo, separando claramente el backend, frontend y escritorio para facilitar la colaboración y el mantenimiento.

Estado actual

Aunque Cortex no fue completado en su totalidad debido a las restricciones de tiempo académico, logramos construir y dejar funcionando una base sólida: el motor de ejecución de código, el backend y la plataforma web principal. El proyecto está disponible en GitHub, documentado y preparado para futuras expansiones.

Espero retomarlo a futuro, ya que sigue siendo un proyecto que me apasiona profundamente.

Autores

  • Ángel Cuervo
  • Ignacio Carrasco
  • Hamir Llanos

Información del proyecto

Fecha de creación

15 dic 2024

Estado

Completado