Morgan Logo
[ SaaS Platform ]

Skiable

Plataforma de búsqueda y exploración de vuelos

EL DESAFÍO

Construir una plataforma de búsqueda de vuelos requiere manejar consultas de búsqueda complejas, respuestas API rápidas, datos estructurados de múltiples fuentes e interfaces intuitivas para comparar cientos de resultados.

ROL:Full-Stack Developer
AÑO:2024
TIPO:SaaS Product
ESTADO:Live

STACK TECNOLÓGICO

Next.jsTypeScriptMongoDBNode.jsReact
I

Enfoque de ingeniería

Búsqueda de alto rendimiento

Construí experiencia de búsqueda con enfoque en velocidad usando Next.js y TypeScript con estructuras de datos optimizadas para filtrado rápido.

Integración API del lado del servidor

Desarrollé rutas API en Next.js que se integran con MongoDB para potenciar resultados de búsqueda estructurados con indexación adecuada.

Diseño de interacción compleja

Diseñé interfaces responsivas manejando formularios de múltiples pasos, rangos de fechas, conteos de pasajeros y comparación de resultados.

Arquitectura modular

Organicé base de código con hooks reutilizables y límites de componentes claros para escalado predecible.

II

Decisiones técnicas clave

Las elecciones que dieron forma a la arquitectura y determinaron la mantenibilidad a largo plazo.

Rutas API de Next.js

Usé rutas API de Next.js en lugar de backend separado

POR QUÉ

Despliegue unificado y mejor compartición de TypeScript entre frontend y backend

Agregación MongoDB

Aproveché el pipeline de agregación de MongoDB para búsqueda

POR QUÉ

Las operaciones complejas de filtrado y ordenamiento son más eficientes en la base de datos que en el código de la aplicación

Patrón de hooks personalizados

Creé hooks reutilizables para estado de búsqueda y filtros

POR QUÉ

Lógica compleja encapsulada en unidades testables y componibles que múltiples componentes podían usar

Actualizaciones optimistas de UI

Implementé actualizaciones optimistas para interacciones de búsqueda

POR QUÉ

Los usuarios esperan retroalimentación instantánea al ajustar filtros y parámetros de búsqueda

III

Desafíos y soluciones

[ DESAFÍO ]

Las consultas de búsqueda con múltiples filtros tardaban 3+ segundos en devolver resultados

[ SOLUCIÓN ]

Agregué índices compuestos en MongoDB e implementé caché de resultados de consultas con invalidación adecuada

[ DESAFÍO ]

El estado complejo del formulario de búsqueda era difícil de gestionar y depurar

[ SOLUCIÓN ]

Creé un contexto de búsqueda centralizado con tipos TypeScript y validación adecuada en cada paso

[ DESAFÍO ]

Los usuarios necesitaban comparar docenas de opciones de vuelo eficientemente

[ SOLUCIÓN ]

Construí vista de tabla ordenable con filtros persistentes y modo de comparación para análisis lado a lado

IV

Resultados e impacto

Skiable se lanzó como una plataforma de búsqueda de vuelos rápida e intuitiva con capacidades de filtrado complejas y diseño responsivo en dispositivos.

<500ms
Search response time
100%
TypeScript coverage
50+
Destinations covered

APRENDIZAJES CLAVE

Las interfaces de búsqueda son engañosamente complejas. Lo que parece un formulario simple esconde docenas de casos extremos y consideraciones de rendimiento.