Sobre o projeto

TREK é um planejador de viagens e passeios auto-hospedado, construído em torno da colaboração em tempo real. É distribuído como imagem Docker (também gráfico Helm) e funciona como PWA instalável no iOS e Android, sem loja de aplicativos. Os recursos de planejamento incluem planos diários com reordenação por arrastar e soltar e desfazer, mapas interativos via Leaflet, Mapbox GL ou MapLibre GL, busca de lugares pelo Google Places ou OpenStreetMap, exploração de POIs via Overpass, importações de listas do Google Maps/Naver, além de GPX, KML e KMZ, exportações GPX e ICS, ordenação automática de rotas diárias com perfis de carro/caminhada/bicicleta via OSRM, itinerários de transporte público via Transitous e previsão do tempo de 16 dias do Open-Meteo. Reservas e finanças cobrem 16 tipos de reserva, voos e trens com múltiplos trechos e dados de aeroportos incluídos, acomodações abrangendo intervalos de datas, importação de confirmações (EML, PDF, PKPass, HTML, TXT) via KItinerary, divisão de despesas em centavos inteiros com sugestões de acerto, moedas por despesa, listas de bagagem com modelos e responsáveis, tarefas, anexos de arquivos e exportação em PDF. A colaboração usa sincronização por WebSocket para que as edições apareçam ao vivo, gerenciamento de membros e convidados, matriz de permissões configurável, links de convite, páginas públicas de compartilhamento somente leitura e, opcionalmente, chat em grupo, notas compartilhadas, enquetes e lista de próximas atividades. Complementos adicionais incluem um diário de viagem com integração ao Immich ou Synology Photos, um Atlas de países e regiões visitados, um calendário de ausências e uma biblioteca independente de coleção de lugares. Um sistema de plugins suporta instalação por registro ou zips carregados lateralmente, processos filhos em sandbox, 63 permissões concedíveis, listas de permissões de hosts de saída e verificação de assinatura. Um servidor MCP opcional expõe OAuth 2.1 com PKCE, ferramentas e recursos com escopos e registro de auditoria; a extração de reservas pode usar Ollama, um endpoint compatível com OpenAI ou Anthropic. O suporte offline pré-armazena o shell do aplicativo e os chunks de rotas, guarda os dados da viagem no IndexedDB, enfileira gravações com chaves de idempotência e permite o pré-download de tiles de mapas raster. A administração cobre vários métodos de login (senha, OIDC, passkeys), TOTP 2FA, limitação de taxa, segredos criptografados, backups, backends de armazenamento plugáveis, canais de notificação, temas e 23 idiomas. A stack é Node.js 22, NestJS 11, SQLite, React 19, Vite e Tailwind, licenciada sob AGPL v3.