Foto edgardo ponce

Edgardo Ponce

Full Stack Developer

Acerca de mí

Soy un desarrollador web con una visión clara:

Crear soluciones digitales que combinan diseño atractivo y funcionalidad impecable.

Con más de 9 años de experiencia, domino tecnologías que potencian proyectos escalables y de alto rendimiento.

Mi Trayectoria Educativa y Certificaciones Profesionales

He obtenido diversas certificaciones y completado cursos que destacan mi experiencia en desarrollo web. Aquí están los logros clave de mi trayectoria educativa.

Temas

  • Declarative rendering con Vue.js
  • ¿Qué es la reactividad?
  • ¿Qué es un Proxy?
  • Reactividad con effect, track y trigger
  • Expresiones
  • Atributos
  • Conditional rendering
  • List rendering
  • Event handling
  • Options API vs. Composition API
  • data() y ref()
  • Métodos personalizados con Options API
  • Métodos personalizados con Composition API
  • reactive()
  • Componentes de Vue con Options API
  • Componentes de Vue con Composition API y props
  • Reto con componentes
  • Custom events o eventos personalizados con Options API
  • Custom events o eventos personalizados con Composition API
  • Watchers con Composition API
  • Computed properties con Options API
  • Computed properties con Composition API

Temas

  • ¿Qué son las Pruebas Unitarias y por qué es importante?
  • ¿Qué es el Testing en Software?
  • Instalación y Configuración del Entorno de Pruebas
  • Cómo Crear Pruebas Unitarias con UnitTest en Python
  • Cómo usar el método setup en tests de Python
  • Uso de tearDown para limpieza de Pruebas Unitarias en Python
  • Cómo validar excepciones y estructuras de datos con Unittest en Python
  • Control de pruebas unitarias con unittest.skip en Python
  • Cómo organizar y ejecutar pruebas en Python con UnitTest
  • Mejores prácticas para organizar y nombrar pruebas en Python
  • Mocking de APIs externas en Python con unittest
  • Uso de Side Effects en Mocking con Python
  • Uso de Patching para Modificar Comportamientos en Python
  • Cómo parametrizar pruebas en Python con SubTest
  • Documentación de pruebas unitarias con Doctest en Python
  • Cómo generar datos de prueba dinámicos con Faker en Python
  • ¿Cómo asegurar la cobertura de pruebas con Coverage en Python
  • Automatización de Pruebas Unitarias en Python con GitHub Actions
  • Pruebas Unitarias con PyTest en Python
  • Cómo crear pruebas unitarias con inteligencia artificial en Python.

Temas

  • Patrones de Diseño y Principios SOLID en Python
  • Principio de Responsabilidad Única (SRP) en Python
  • Procesador de Pagos con Stripe en Python
  • Principio Abierto/Cerrado (OCP) en Python
  • Principio de Sustitución de Liskov (LSP) en Python
  • Principio de Segregación de Interfaces (ISP) en Python
  • Principio de Inversión de Dependencias (DIP) en Python
  • Patrón Strategy en Python
  • Patrón Factory en Python
  • Patrón Decorator en Python
  • Patrón Builder en Python
  • Patrón Observer en Python
  • Patrón Chain of Responsibility en Python

Temas

  • Instalación de Python, pip y virtualenv
  • Debugging en Flask
  • Request y Response
  • Ciclos de Request y Response
  • Templates con Jinja 2
  • Estructuras de control
  • Herencia de templates
  • Include y links
  • Uso de archivos estáticos: imágenes
  • Configurar páginas de error
  • Flask Bootstrap
  • Configuración de Flask
  • Implementación de Flask-Bootstrap y Flask-WTF
  • Desplegar Flashes (mensajes emergentes)
  • Planteamiento del proyecto: To Do List
  • App Factory
  • Uso de Blueprints
  • Base de datos y App Engine con Flask
  • Configuración de proyecto en Google Cloud Platform
  • Implementación de Firestore
  • Autenticación de usuarios: Login
  • Deploy a producción con App Engine.

Temas

  • Conceptos Básicos de Programación
  • Manipulación de Cadenas de Texto en Python
  • Enteros, Flotantes y Booleanos
  • Operaciones Matemáticas en Python
  • Operaciones de Entrada/Salida en Consola
  • Listas
  • Listas de más dimensiones y Tuplas
  • Aplicación de Matrices
  • Diccionarios
  • Comprehension Lists en Python
  • Estructuras condicionales
  • Bucles y Control de Iteraciones
  • Generadores e Iteradores
  • Uso de Funciones en Python
  • Funciones Lambda y Programación Funcional en Python
  • Manejo de Excepciones y Uso de Pass
  • Fundamentos de Programación Orientada a Objetos en Python
  • Ejercicio Biblioteca con POO
  • Herencia en POO con Python
  • Objetos heredados
  • Los 4 pilares de la programación orientada a objetos
  • Uso de super() en Python
  • Manejo de Archivos .TXT
  • Manejo de Archivos CSV
  • Manejo de Archivos JSON
  • Biblioteca estándar en Python
  • Librería Os, Math y Random
  • Librería Statistics y Análisis Estadístico
  • Proyecto final: Guerra naval
  • Recapitulación de lo aprendido hasta ahora
  • Escribir código Pythonico y profesional
  • Comentarios y Docstrings en Python
  • Scope y closures: variables locales y globales
  • Anotaciones de tipo
  • Validación de tipos en métodos
  • Librería Collections y Enumeraciones
  • Decoradores en Python
  • Decoradores anidados y con parámetros
  • Uso de Decoradores en clases y métodos
  • Métodos mágicos
  • Sobrecarga de operadores
  • Implementación de if __name__ == "__main__":
  • Metaprogramación en Python
  • Uso de *args y **kwargs
  • Métodos privados y protegidos
  • Gestión avanzada de propiedades
  • Métodos estáticos y de clase avanzados
  • Introducción a la concurrencia y paralelismo
  • Threading y multiprocessing en Python
  • Asincronismo con asyncio
  • Asincronismo y concurrencia
  • Creación de módulos en Python
  • Gestión de paquetes
  • Publicación de paquetes en PyPI

Temas

  • ¿Cómo crear una cuenta de desarrollador en Meta?
  • ¿Cómo configurar una aplicación en Developers Facebook?
  • Creación y configuración de una aplicación en Whatsapp
  • ¿Cómo configurar la API de WhatsApp para recibir y enviar mensajes?
  • ¿Cómo configurar la API de WhatsaApp con Postman?
  • ¿Cómo crear un servidor de Express?
  • ¿Cómo implementar Webhooks en Express?
  • ¿Cómo optimizar la arquitectura de un bot usando servicios y controladores?
  • ¿Cómo configurar una respuesta personalizada desde la API de WhatsApp?
  • ¿Cómo configurar un menú de opciones desde la API de WhatsApp?
  • ¿Cómo integrar mensajes multimedia en el flujo de tu chatbot?
  • ¿Cómo Integrar el Send-Media-Message al flujo de tu Chatbot?
  • ¿Cómo crear el flujo para agendar una cita desde la API de WhatsApp?
  • ¿Cómo crear una lógica que permita almacenar el flujo de tu Chatbot?
  • ¿Cómo conectar tu chatbot con Google Sheets para la gestión de datos?
  • ¿Cómo conectar la API de WhatsApp con ChatGPT?
  • ¿Cómo integrar ChatGPT al flujo de la API de WhatsApp?
  • ¿Cómo enviar contactos desde tu chatbot para soporte al usuario?
  • ¿Cómo crear flujos escalables en la API de WhatsApp usando buenas prácticas de programación?
  • ¿Cómo desplegar la API de WhatsApp en un ambiente de producción?
  • ¿Cómo publicar tu Chatbot para interacciones reales?

Temas

  • Laboratorio: Crear nuestro primer usuario en la consola de AWS
  • Regiones y Zonas de Disponibilidad
  • Edge Locations, Local Zones y Outposts
  • Route 53 en AWS
  • Componentes de una VPC
  • Seguridad en una VPC
  • Laboratorio: Crear una VPC en AWS (Subredes y Zonas de Disponibilidad)
  • Laboratorio: Crear una VPC en AWS (Creación de Subredes, Internet Gateway y NAT Gateway)
  • Laboratorio: Crear un servidor web paso a paso
  • Fundamentos de EC2
  • Laboratorio: Crear un servidor web paso a paso
  • Laboratorio: Creación del servidor web
  • Tipos de EC2 y casos de uso
  • Laboratorio: Tipos de instancias y opciones de precios en EC2
  • Servicios de contenedores
  • Balanceo de carga
  • Escalamiento automático
  • Laboratorio: Creación de servidores y balanceo de carga
  • Laboratorio: Instalación de Apache y gestión de seguridad en AWS
  • Laboratorio: Alta disponibilidad y verificación de salud de servidores
  • Almacenamiento por bloques, objetos y archivos
  • Laboratorio: Crear nuestro primer bucket en S3
  • Laboratorio: Crear de una base de datos relacional en AWS RDS
  • Laboratorio: Crear una tabla en DynamoDB
  • Servicios de protección ante ataques DDoS: WAF y Shield
  • Laboratorio: Crear alerta sobre presupuesto en AWS
  • y mucho mas....

Temas

  • ¿Para qué sirve Figma y por qué elegirlo?
  • Interfaz en Figma
  • Configuración de guías y retículas
  • Creación de textos y estilos
  • Figuras e imágenes en Figma
  • Efectos en Figma
  • Redes de Vectores
  • Colores en Figma
  • Importar y exportar
  • Cómo crear guías de estilo
  • Auto-Layout
  • Los 15 mejores atajos para trabajar en Figma
  • Creación de componentes reutilizables: clase teórica
  • Creación de componentes reutilizables: clase práctica
  • Prototipado simple: interacción de scroll
  • Prototipado simple: conexión de diferentes frames
  • Prototipado avanzado: smart animate y componentes Interactivos
  • Cómo agregar comentarios a los diseños
  • Historial de versiones en Figma
  • FigJam
  • Uso de plugins en Figma
  • Community: proyectos open-source y perfiles

Temas

  • Clases
  • Métodos
  • Acceso público
  • Acceso privado
  • Constructor
  • Getters and Setters
  • Herencia
  • Static
  • Interfaces
  • Clases abstractas
  • Singleton: constructor privado
  • Promesas
  • Tipado respestas HTTP
  • Consumiendo ProductMemoryService
  • Generics
  • Decoradores

Temas

  • Configuración de proyectos con ts-node
  • Tuplas
  • Enums
  • Tipo desconocido
  • Nunca tipo
  • Parámetros opcionales y nullish-coalescing
  • Parámetros por defecto
  • Parámetros restantes
  • Sobrecarga de funciones: el problema
  • Sobrecarga de funciones: la solución
  • Interfaces
  • Estructuras complejas
  • Propiedades readonly
  • Omit and Pick Type
  • Ejemplo de CRUD
  • Partial and Required Type
  • Readonly Type
  • Acceso al tipo por índice

Temas

  • Tipado implícito vs. tipado explícito
  • Creando una app con React y TypeScript
  • Diferentes formas de definir un componente
  • El objeto props y children
  • State con tipos primitivos
  • State con tipos personalizados
  • Tipos para eventos y callbacks de escuchadores
  • Tipos para referencias y observadores
  • Lazy loading con observadores
  • Componentes que extienden elementos DOM
  • Reto: sigamos extendiendo el DOM
  • Creando tipos propios para la aplicación
  • Trabajando con librerías no-tipadas
  • Trabajando con librerías que extienden el objeto window

Temas

  • Instalación de React con Vite y TailwindCSS
  • Análisis de rutas y componentes en React
  • Enrutamiento con React Router DOM
  • Componente Navbar
  • Componente de Layout
  • Componente de Card
  • Consumiendo la FakeStore API para pintar cards
  • Contexto global de la aplicación
  • Contador de productos en el carrito
  • Abriendo el detalle de cada producto
  • Reto: heroicons con TailwindCSS
  • Maquetando el ProductDetail
  • Mostrando productos en ProductDetail
  • Agregando productos al carrito
  • SideMenu del carrito de compras
  • Componente OrderCard
  • Evitando productos duplicados en el carrito
  • Suma total de productos en el carrito
  • Flujo para crear una nueva orden
  • Checkout de productos en el carrito
  • Página de MyOrders: lista de órdenes
  • Página de MyOrder: órden individual
  • Reto: órdenes de compra con TailwindCSS
  • Página de MyOrder: órden individual
  • Buscador de productos
  • Filtrando títulos con JavaScript
  • Corrigiendo bugs de la aplicación
  • Deploy de React en Netlify

Temas

  • ¿Cómo funciona Tailwind? Y otros frameworks de CSS
  • Análisis de rutas y componentes en React
  • Mobile First y Utility First
  • Creación del proyecto e instalación de Tailwind
  • Directivas de Tailwind
  • Nueva paleta de colores extendida
  • Medidas y Breakpoints
  • Flexbox
  • Maquetación del proyecto
  • Forms, Typography y Aspect ratio
  • Tailwind como API para la creación de un Design System
  • Creando la sección de Home
  • Diseñando nuestras cards
  • Extracción de componentes a clases para nuestra card
  • Creando la sección de Recomendados
  • Agregando animaciones al proyecto
  • Creando la sección de Rentas destacadas
  • Sección de FAQS
  • Footer
  • TabBar funcional
  • Haciendo responsivo nuestro proyecto
  • Haciendo responsivo nuestro proyecto: rentas destacadas
  • Creando la navbar
  • Agregando el Dark Mode
  • Purge CSS
  • Cómo hacer la migración de tu proyecto a Tailwind 3.0

Temas

  • Primeros pasos en Notion: creación de CV
  • Maquetación del proyecto: Second Brain
  • Estructura básica del proyecto (primera parte)
  • Estructura básica del proyecto (segunda parte)
  • Creando un project tracker (primera parte)
  • Calendario personal
  • Diseñando la zona de objetivos
  • Crea un sistema de seguimiento de hábitos
  • Crea un sistema de apuntes (primera parte)
  • Crea un sistema de apuntes (segunda parte)
  • Plantillas de página y botones
  • Widgets en Notion
  • Cómo exportar e importar en Notion
  • Colabora con otras personas usando Notion
  • Cierre: Life wiki

Temas

  • Crea historias en Inglés
  • Practica con ejemplos
  • Genera exámenes de gramática
  • Corrige textos
  • Practica con sinónimos y antónimos
  • Ten una conversación con ChatGPT
  • Dialoga con ChatGPT
  • Genera conversaciones
  • Crea tu libro de ejercicios

Temas

  • Instalando Visual Studio Code
  • Instalando Figma
  • Qué es HTML
  • DOM
  • Etiquetas
  • Atributos
  • Semántica
  • Enlaces y rutas
  • Menú desplegable
  • Insertar código
  • Que es CSS
  • Las 3 formas de agregar CSS
  • Reglas de CSS
  • Selectores
  • User Agent Styles
  • Cascada, Especificidad y Herencia
  • Content / Component / Layout
  • Display / Flujo / línea y bloque
  • Colores
  • Valores y unidades
  • Pseudo Clases y estilo de texto
  • Custom Properties
  • Fuentes personalizadas
  • Google Fonts
  • Backgrounds
  • Pseudo Elementos
  • Counters
  • Modelo de Caja
  • Propiedades y valores lógicos y físicos
  • Márgenes
  • Margin Collapsing
  • Relleno
  • Bordes
  • Box sizing
  • Depurar CSS
  • Técnica del wrapper
  • Posiciones
  • Skin del nuevo proyecto
  • Márgenes
  • Tamaños / wrapper
  • Slider con solo CSS
  • Formularios
  • Media Queries y Responsive Design
  • Open Graph
  • Favicon

Temas

  • La estructura de una interfaz
  • La evolución del layout en CSS
  • Estructura de un grid
  • Definiendo filas y columnas en un grid
  • Organizando componentes entre líneas
  • Organizando componentes en áreas
  • Herramientas de desarrollo en Grid Layout y Flexbox Layout
  • Separación entre filas y columnas
  • Gap VS Márgenes
  • Dividiendo filas y columnas equitativamente
  • Tamaños dinámicos y cuando usarlos
  • Responsive Design sin media queries
  • Creación automática de filas y columnas
  • Cambio de flujo y posicionamiento automático
  • Portada de Figma - parte 1
  • Portada de Figma - parte 2
  • El sitio web de homero
  • Instagram
  • Mercado Libre
  • Pinterest
  • Faster
  • Spotifu
  • Exportando tipografía con Figma to CSS plugin
  • Reto: exporta íconos y colores del design system
  • Layout de la aplicación
  • Grid del calendario principal
  • Celda para incluir tareas
  • Cabeceras de fecha
  • Cabecera de timezone
  • Cabeceras de hora
  • Día y hora actual
  • Botones
  • Selector multiusos
  • Header
  • Mini Calendario
  • Sidebar
  • Modal
  • Nuevas etiquetas de formulario
  • Formulario de creación de tareas
  • JavaScript
  • Dark Mode

Temas

  • Bienvenida y configuración inicial
  • Estructura principal de Laravel
  • Artisan
  • Routes
  • Views
  • Templates
  • Controllers
  • Migrations
  • Eloquent
  • Relaciones
  • Enfoque del proyecto
  • Inicio de sesión
  • Sistema de inicio de sesión
  • panel administrativo
  • Listado de publicaciones
  • Función eliminar
  • Crear y editar (primer paso)
  • Controles de un formulario
  • Función guardar
  • Función editar
  • Validación
  • Registros duplicados
  • Diseño web
  • Diseño personalizado
  • Página home
  • Destacado
  • Publicación individual
  • Buscador
  • Optimización

Temas

  • Programación I
  • Sistemas de procesamientos de datos
  • Matemática
  • Ingles I
  • Laboratorio de computación I
  • Programación II
  • Arquitecturas y Sistemas Operativos
  • Estadística
  • Ingles II
  • Laboratorio de computación II
  • Metodología de la investigación
  • Programacion III
  • Organización contable de la Empresa
  • Organización Empresarial
  • Elementos de Investigación Operativa
  • Laboratorio de computación III
  • Metodologias de Sistemas I
  • Diseño y administración de base de datos
  • Legislación
  • Laboratorio de computación IV
  • Pasantías