Soy Magdalena, desarrolladora fullstack chilena y programadora analista con formación en pedagogía. Me adentré en la tecnología a través de bootcamps intensivos y certificaciones, incluyendo un programa reciente en Fundamentos de Gestión y Control de Ciberseguridad en USACH.
Me especializo en desarrollo frontend y backend, creando aplicaciones responsivas centradas en el usuario utilizando tecnologías JavaScript modernas. Mi trayectoria académica también incluye UX/UI, Metodologías Ágiles y desarrollo Fullstack JavaScript.
Este portafolio fue creado durante mi Bootcamp de JavaScript para documentar mi crecimiento técnico. Desde aprender los fundamentos de HTML y CSS, progresé hacia la creación de aplicaciones dinámicas con JavaScript, jQuery y Bootstrap.
Here I showcase classwork, mini-projects, and hands-on exercises that reflect the skills I’ve developed and my passion for continuous learning.
Un resumen de las tecnologías y conceptos que he dominado en JavaScript durante mi desarrollo profesional.
Estas habilidades han sido aplicadas en proyectos reales como App Gestor de Usuarios, Gestor de Contactos, Gestor de Productos y Sistema Kanban, demostrando mi capacidad para crear aplicaciones web completas y funcionales.
Aprendí cómo acceder y modificar elementos HTML usando JavaScript y jQuery. Por ejemplo, actualizar dinámicamente tarjetas de libros o establecer valores de formularios.
document.getElementById("title").textContent = "¡Actualizado!"
Usé event listeners para detectar acciones del usuario como clics y envíos de formularios, creando interfaces interactivas y responsivas.
$('.btn').click(() => alert("¡Clickeado!"))
Usé modales de Bootstrap y controlé dinámicamente su visibilidad con JavaScript para simular flujos de aplicación profesionales.
const modal = new bootstrap.Modal(...)
Creé sistemas de filtrado dinámico para productos y búsqueda en tiempo real, mejorando la experiencia de navegación del usuario.
products.filter(p => p.name.includes(searchTerm))
Desarrollé funcionalidad de arrastrar y soltar para mover tareas entre columnas en el sistema Kanban, creando una experiencia interactiva moderna.
element.addEventListener('dragstart', handleDragStart)
Apliqué setTimeout para efectos de temporización como mostrar mensajes de confirmación o transiciones después de acciones del usuario.
setTimeout(() => modal.show(), 500)
Desarrollé una interfaz tipo Kanban completa con columnas dinámicas, permitiendo organizar y gestionar tareas de forma visual e intuitiva.
createKanbanColumn(status)
Validé formularios manualmente antes de enviar o actualizar la interfaz, como verificar si todos los campos fueron llenados correctamente.
if (input.value.trim() === "") alert("¡Requerido!")
Implementé almacenamiento local para guardar datos del usuario como carrito de compras y tareas, manteniendo la información entre sesiones.
localStorage.setItem('cart', JSON.stringify(cart))
Manejé estados complejos de aplicaciones como el carrito de compras y el sistema de tareas, manteniendo la sincronización entre componentes.
updateCartState(newItem)
Capturé valores personalizados de HTML usando atributos data-* para pre-llenar formularios o rastrear selecciones del usuario.
const peli = $(this).data('pelicula')
Implementé sistemas de autenticación básicos con validación de credenciales y gestión de sesiones de usuario.
if (user.email && user.password) login()
Creé mi primer portafolio estático enfocado en productos artesanales usando HTML, CSS y un poco de JavaScript.
Ver proyecto →
Desarrollé un portafolio más dinámico y modular usando Vue.js. Practiqué arquitectura basada en componentes y enrutamiento.
Ver portafolio Vue →
Este portafolio es el resultado de mi viaje en el Bootcamp de JavaScript. Construido con Next.js, responsivo y dinámico.
Visitar inalaf.ca →Aquí encontrarás mis proyectos más recientes desarrollados con JavaScript moderno y PostgreSQL. Cada uno demuestra diferentes habilidades y tecnologías que he aprendido y aplicado en el desarrollo web.
Sistema completo de gestión de tareas con interfaz tipo Kanban. Permite crear, editar, mover entre columnas y eliminar tareas de forma interactiva.
Características principales:
Tienda online de joyería con catálogo dinámico, carrito de compras y sistema de filtros por categorías. Interfaz moderna y funcional.
Características principales:
Sistema completo de gestión de inventario utilizando bases de datos relacionales en PostgreSQL y visualización en DBeaver.
Características principales:
Versión mejorada del sistema de inventario con validaciones avanzadas, funciones personalizadas y documentación completa.
Nuevas características:
Aplicación web backend desarrollada con Node.js y Express para gestión de productos de tienda en línea. Implementa persistencia de datos, manejo de archivos y servidor web completo.
Características principales:
Aplicación web moderna desarrollada con Node.js y Express para gestión completa de contactos. Implementa CRUD completo, persistencia en archivos de texto y enfoque en UX/UI.
Características principales:
Sistema completo de gestión de usuarios y roles desarrollado con Node.js, Express, PostgreSQL y Sequelize ORM. Implementa relaciones complejas de base de datos y transacciones atómicas.
Características principales:
Aplicación web completa desarrollada para gestionar usuarios y pedidos de una tienda de handmade bags artesanales. Implementa operaciones CRUD completas con transacciones y validaciones robustas.
Características principales: