Sobre el proyecto

TREK es un planificador de viajes y trayectos autoalojado construido en torno a la colaboración en tiempo real. Se distribuye como imagen Docker (también chart de Helm) y funciona como PWA instalable en iOS y Android sin tienda de aplicaciones. Las funciones de planificación incluyen planes diarios con reordenación mediante arrastrar y soltar y deshacer, mapas interactivos mediante Leaflet, Mapbox GL o MapLibre GL, búsqueda de lugares a través de Google Places u OpenStreetMap, exploración de POI sobre Overpass, importaciones desde listas de Google Maps/Naver además de GPX, KML y KMZ, exportaciones GPX e ICS, ordenación automática de rutas diarias con perfiles de conducción/caminata/ciclismo sobre OSRM, itinerarios de transporte público sobre Transitous y clima a 16 días desde Open-Meteo. Las reservas y el dinero cubren 16 tipos de reserva, vuelos y trenes con múltiples tramos con datos de aeropuertos incluidos, alojamiento que abarca rangos de fechas, importación de confirmaciones (EML, PDF, PKPass, HTML, TXT) mediante KItinerary, división de gastos en centavos enteros con sugerencias de liquidación, monedas por gasto, listas de equipaje con plantillas y asignados, tareas pendientes, archivos adjuntos y exportación a PDF. La colaboración usa sincronización por WebSocket para que las ediciones aparezcan en vivo, gestión de miembros e invitados, una matriz de permisos configurable, enlaces de invitación, páginas públicas de solo lectura para compartir y, opcionalmente, chat grupal, notas compartidas, encuestas y una lista de actividades próximas. Los complementos adicionales incluyen un diario de viaje con integración de Immich o Synology Photos, un Atlas de países y regiones visitados, un calendario de ausencias y una biblioteca independiente de colección de lugares. Un sistema de plugins admite instalaciones desde registro o zips cargados manualmente, procesos hijos en sandbox, 63 permisos otorgables, listas de hosts salientes permitidos y verificación de firmas. Un servidor MCP opcional expone OAuth 2.1 con PKCE, herramientas y recursos con alcance definido, y registro de auditoría; la extracción de reservas puede usar Ollama, un endpoint compatible con OpenAI o Anthropic. El soporte sin conexión precarga el shell de la aplicación y los fragmentos de ruta, almacena los datos del viaje en IndexedDB, encola escrituras con claves de idempotencia y permite predescargar teselas ráster de mapas. La administración cubre múltiples métodos de inicio de sesión (contraseña, OIDC, passkeys), 2FA con TOTP, limitación de tasa, secretos cifrados, copias de seguridad, backends de almacenamiento conectables, canales de notificación, temas y 23 idiomas. El stack es Node.js 22, NestJS 11, SQLite, React 19, Vite y Tailwind, con licencia AGPL v3.