Skip to content

Alaska45l/alaska45l.github.io

Repository files navigation

Alaska Elaina Gonzalez — Portafolio Profesional

Custom Single Page Application (SPA), Modular Architecture & Vite Pipeline

Vite JavaScript HTML5 CSS3 GitHub Actions

Este repositorio contiene el código fuente de mi portafolio profesional. Lejos de utilizar un framework pesado (como React o Vue) para una web de contenido estático, el proyecto está construido desde cero como una Single Page Application (SPA) utilizando Vanilla JavaScript, Módulos ES (ESM) estandarizados y Vite como empaquetador y servidor de desarrollo.

Arquitectura y Filosofía

Construir este portafolio fue un ejercicio deliberado de ingeniería frontend enfocado en rendimiento, modularidad y control total sobre el DOM. Las decisiones técnicas clave incluyen:

  • Enrutamiento Custom (Vanilla SPA): Un motor de enrutamiento propio (router.js) que intercepta el historial del navegador (popstate), inyecta vistas dinámicamente y expone hooks de ciclo de vida (beforeNavigate, afterNavigate).
  • Code-Splitting y Lazy Loading: Los controladores de las vistas (Inicio, Experiencia, Juego) no se empaquetan en un solo bloque. Vite los divide y el router los invoca asíncronamente mediante import() dinámico solo cuando el usuario accede a la ruta.
  • Gestión Estricta de Memoria (Teardown): Para evitar fugas de memoria (memory leaks) típicas en SPAs nativas, cada controlador implementa un método unmount() que limpia temporizadores (terminal interactiva) y destruye instancias (motor del minijuego) al cambiar de página.
  • Delegación de Eventos Centralizada: Un eventDispatcher.js captura eventos delegados a nivel global. Esto desvincula la lógica del DOM y hace al sistema resistente a la destrucción y recreación constante de nodos HTML durante la navegación.

Componentes Core

  • Terminal Interactiva: Un emulador de terminal web (construido sin librerías de terceros) que incluye un sistema de archivos simulado, parseo de comandos personalizados, ping asíncrono y sistema de maximización/arrastre de ventana.
  • Motor de Prefetching Predictivo: Utiliza la API IntersectionObserver y eventos mouseover para pre-cargar en una caché nativa (Map) el código HTML de las rutas antes de que el usuario haga clic, garantizando transiciones de vista en 0ms.
  • Quantum Cat Invaders: Un easter egg que despliega un minijuego completo renderizado en <canvas>. Utiliza un bucle de animación iterativo (requestAnimationFrame), gestión de colisiones por bounding box y entidades orientadas a objetos.

About

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors