Productos Digitales que Resuelven Problemáticas Reales
Mi portafolio principal (portafoliojs) está completamente desarrollado, desplegado en GitHub Pages y cumple con todos los requerimientos funcionales solicitados para la evaluación de portafolio profesional.
Este documento es un resumen de la evaluación que complementa mi portafolio profesional, demostrando cómo cada producto digital desarrollado resuelve una problemática real identificada. Cada proyecto incluye la documentación del problema resuelto, el proceso de desarrollo seguido, las tecnologías utilizadas y evidencias tangibles de las competencias aplicadas.
Objetivo: Mostrar mi capacidad para desarrollar productos tecnológicos efectivos que resuelvan problemas reales, aplicando buenas prácticas del ciclo de vida del desarrollo de software y utilizando tecnologías apropiadas del stack JavaScript.
Nota: Este documento detalla la evaluación de dos proyectos representativos. Para ver todos mis proyectos y el portafolio completo, visita la página principal del portafolio.
Problema Real: La falta de organización y seguimiento de tareas personales y profesionales genera estrés, pérdida de productividad y dificultad para priorizar actividades. Muchas personas utilizan métodos tradicionales (listas en papel, notas sueltas) que no permiten visualizar el estado de las tareas ni colaborar eficientemente.
Necesidad del Usuario: Una herramienta digital que permita:
Desarrollé un sistema de gestión de tareas tipo Kanban que resuelve esta problemática mediante una interfaz visual e interactiva. El sistema permite a los usuarios organizar sus tareas en columnas visuales, moverlas entre estados mediante drag & drop, y mantener toda la información persistente en el navegador.
Identifiqué los requerimientos funcionales: sistema de columnas Kanban, drag & drop, persistencia local, autenticación básica, y diseño responsive. Definí la estructura de datos y la arquitectura de la aplicación.
Creé wireframes y mockups de la interfaz Kanban, diseñando columnas visuales claras, tarjetas de tareas informativas, y un sistema de colores que facilite la identificación rápida del estado de cada tarea.
Implementé la interfaz usando HTML5 semántico, CSS3 con Grid y Flexbox para el layout, y JavaScript ES6+ para la lógica de negocio. Integré la API de Drag & Drop nativa del navegador para la funcionalidad de arrastrar y soltar.
Implementé localStorage para guardar tareas, usuarios y configuraciones. Desarrollé funciones para serializar/deserializar datos y manejar errores de almacenamiento.
Creé un sistema básico de autenticación que permite gestionar múltiples usuarios, cada uno con su propio conjunto de tareas, utilizando localStorage para mantener sesiones.
Realicé pruebas en múltiples navegadores, dispositivos móviles y tablets. Ajusté el diseño responsive y optimicé la experiencia de usuario basándome en feedback.
Justificación Tecnológica: Elegí estas tecnologías porque son estándares web modernos que permiten crear una aplicación completamente funcional sin dependencias externas complejas. El uso de APIs nativas del navegador (Drag & Drop, LocalStorage) garantiza rendimiento y compatibilidad, mientras que Bootstrap asegura un diseño responsive profesional.
Interfaz Kanban del Sistema
Demo en Vivo:
magdaig.github.io/Gestion-de-tareas-con-javascript/
Código Fuente:
github.com/MagdaIG/Gestion-de-tareas-con-javascript
Problema Real: Las organizaciones necesitan gestionar usuarios, roles y permisos de forma eficiente y segura. Los sistemas tradicionales de gestión manual o hojas de cálculo no escalan, son propensos a errores, y no garantizan la integridad de los datos. Además, la falta de un sistema centralizado dificulta el control de acceso y la auditoría.
Necesidad del Usuario: Una aplicación web que permita:
Desarrollé una aplicación fullstack completa que gestiona usuarios y roles utilizando PostgreSQL como base de datos relacional y Sequelize como ORM. La aplicación implementa relaciones complejas (1:1, 1:N, N:M), transacciones atómicas, validaciones robustas y una interfaz administrativa responsive.
Definí el modelo de datos: Usuarios, Roles, y la relación muchos-a-muchos entre ellos. Identifiqué las operaciones CRUD necesarias y los casos de uso principales del sistema.
Diseñé el esquema de base de datos en PostgreSQL, definiendo tablas, relaciones, constraints y validaciones. Implementé normalización hasta 3FN para garantizar integridad referencial.
Configuré un servidor Express con Sequelize ORM, estableciendo conexión a PostgreSQL, definiendo modelos con asociaciones (hasMany, belongsToMany), y configurando middleware para validación y manejo de errores.
Desarrollé endpoints RESTful para todas las operaciones CRUD de usuarios y roles. Implementé transacciones para operaciones que requieren múltiples cambios en la base de datos, garantizando atomicidad.
Implementé validaciones con Joi para datos de entrada, hash seguro de contraseñas con bcrypt, y manejo de errores robusto. Agregué validaciones a nivel de base de datos mediante constraints.
Creé una interfaz administrativa con Bootstrap 5 que consume las APIs REST. Implementé formularios dinámicos, tablas responsivas, modales para confirmaciones, y feedback visual para todas las operaciones.
Realicé pruebas de todas las funcionalidades, validé las transacciones, y documenté el proyecto con diagramas ERD, explicaciones técnicas y capturas de pantalla del proceso.
Justificación Tecnológica: Elegí Node.js y Express para el backend porque permiten desarrollo rápido y eficiente de APIs REST. PostgreSQL es ideal para datos relacionales complejos, y Sequelize simplifica el manejo de relaciones y transacciones. Esta stack es estándar en la industria y demuestra competencia en desarrollo fullstack.
Dashboard Principal
Lista de Usuarios
Formulario de Creación/Edición
Gestión de Roles
Diagrama Entidad-Relación
Modelo Sequelize - Usuario
Endpoints REST API
Implementación de Transacciones
Documentación Completa:
Ver Documentación Técnica Completa
Código Fuente:
github.com/MagdaIG/portafoliojs
Confirmación: Mi portafoliojs cumple con TODOS los requerimientos funcionales mínimos esperados para la evaluación de portafolio profesional.
Claridad y enfoque: El portafolio comunica claramente mi propuesta de valor como desarrolladora fullstack con enfoque pedagógico. Sección "Sobre Mí" con objetivos profesionales definidos.
Organización: Contenido estructurado con navegación intuitiva (menú fijo), secciones bien definidas (Sobre Mí, Proyectos, Habilidades, Contacto) y fácil acceso a todos los proyectos.
Pruebas de habilidades: Cada proyecto incluye capturas de pantalla, enlaces a demos en vivo, código fuente en GitHub y documentación técnica detallada. Evidencias tangibles en cada sección.
Estética y diseño: Diseño moderno, profesional, con paleta de colores consistente (morado/rosa), tipografía clara (Inter, Poppins) y animaciones suaves con AOS.
Responsividad: Completamente responsive usando Bootstrap 5, probado en dispositivos móviles, tablets y desktop. Menú hamburguesa para móviles.
Evidencia: Ver Portafolio Principal | Portafolio en Línea
Identificación de problemáticas: Cada proyecto documenta claramente el problema real que resuelve. Este documento (evaluacion-portafolio.html) detalla las problemáticas de Gestión de Tareas y App Gestor de Usuarios. Otros proyectos también documentan sus problemáticas.
Proceso de desarrollo: Cada proyecto incluye documentación del proceso seguido con timeline detallado (planificación, diseño, desarrollo, testing). Ver secciones "Proceso de Desarrollo" en este documento.
Tecnologías apropiadas: Uso de tecnologías modernas del stack JavaScript (Node.js, Express, PostgreSQL, Sequelize, JavaScript ES6+, Bootstrap 5) que reflejan tendencias actuales de la industria. Justificación tecnológica incluida.
Proyectos que resuelven problemáticas reales: Gestión de Tareas (Kanban), App Gestor de Usuarios, Cute Shop (E-commerce), Sistema de Inventario, y más. Todos documentados en el portafolio.
Diseño del portafolio: Sitio web responsivo desarrollado con HTML5, CSS3, Bootstrap 5 y JavaScript, desplegado en GitHub Pages. Accesible 24/7 en magdaig.github.io/portafoliojs/
Contenido del portafolio: Cada producto incluye descripción completa, objetivos resueltos, tecnologías utilizadas, capturas de pantalla, enlaces a demos en vivo y código fuente en GitHub. Ver sección "Proyectos de Portafolio" en index.html
Presentación profesional: Sección "Sobre Mí" con experiencia, habilidades técnicas, formación, y objetivos profesionales claramente definidos. Incluye foto profesional y trayectoria.
Gestión del código: Todo el código está versionado en GitHub (github.com/MagdaIG/portafoliojs) con commits descriptivos, README.md detallado, documentación en código con comentarios, y estructura de carpetas organizada.
Pruebas de acceso: Enlaces directos a demos en vivo (magdaig.github.io/Gestion-de-tareas-con-javascript/, etc.) y código fuente disponible públicamente en GitHub. Cada proyecto tiene botón "Ver Proyecto" funcional.
Repositorio: github.com/MagdaIG/portafoliojs | Sitio: magdaig.github.io/portafoliojs/
Portafolio Digital Funcional: Disponible en línea en magdaig.github.io/portafoliojs/ con diseño atractivo y fácil navegación. Incluye más de dos proyectos que resuelven problemas reales: Gestión de Tareas, App Gestor de Usuarios, Cute Shop, Sistema de Inventario, Gestión de Productos, y más.
Documentación del Proyecto: Cada producto documenta el problema resuelto, tecnologías utilizadas y enfoque de desarrollo seguido. Este documento (evaluacion-portafolio.html) detalla 2 proyectos representativos. Páginas individuales (app-gestor-usuario.html, gestor-productos.html, etc.) documentan cada proyecto completo.
Código Fuente en GitHub: Todo el código está disponible públicamente en github.com/MagdaIG/portafoliojs con buenas prácticas de codificación, comentarios explicativos, estructura clara, README.md completo y documentación técnica.
RESUMEN:
✓ Portafolio funcional en línea
✓ Más de 2 proyectos que resuelven problemas reales
✓ Documentación completa de cada proyecto
✓ Código fuente público en GitHub con buenas prácticas
✓ Todas las evidencias (capturas, demos, código) disponibles
Este portafolio demuestra mi capacidad para desarrollar productos tecnológicos efectivos que resuelven problemáticas reales. Cada proyecto fue desarrollado siguiendo buenas prácticas del ciclo de vida del desarrollo de software, desde la identificación de necesidades hasta la implementación y documentación.
Los productos desarrollados utilizan tecnologías modernas y apropiadas del stack JavaScript, reflejando las tendencias actuales de la industria. El portafolio está completamente funcional, accesible en línea, y documentado para facilitar la revisión por parte de empleadores, colaboradores y la comunidad de desarrolladores.
Este portafolio no solo muestra lo que sé hacer, sino cómo lo hago, por qué lo hago, y cómo puedo contribuir a resolver problemas reales mediante el desarrollo de software.