Londres 2026 — mapa de viagem
SPA de mapa interactivo para planeamento de viagem a Londres em Abril 2026. Arquivado como template para futuras viagens.
- Vanilla JS
- Leaflet
- Google Maps API
- IndexedDB
- PWA
- Flask API
Londres 2026 foi uma aplicação web construída para planear uma viagem a Londres em Abril 2026. Mapa interactivo com lugares anotados, rotas por dia, notas sincronizadas com um vault Obsidian via API, funcionamento offline (PWA), geolocalização, filtragem por dia e categoria.
A app serviu bem durante a viagem — especialmente a parte offline e a sincronização das notas. Mas o interessante não foi a app em si; foi perceber o que funcionava e o que não funcionava para levar para a próxima.
# Decisões que se mantêm
- Backend leve: um Flask API (
lugares-api) a expor/api/lugarese/api/notes— o suficiente, zero overkill - Dados em Obsidian: a fonte de verdade dos lugares é um ficheiro
places.jsondentro de um vault Obsidian pessoal, não uma base de dados - Auth via header simples: preauth contra um endpoint específico do vaultreader, suficiente para uso single-user
- IndexedDB para notas locais: sincronização bidirecional opcional com o vault
- Leaflet + Google Maps tiles: Leaflet para controlo, Google para qualidade de tiles urbanos
# Lições aprendidas (que vão para o template)
- InfoWindow em mobile portrait precisa de CSS defensivo — ver council reports abaixo
- Geolocalização contínua dreining bateria em 3-4h mesmo em modo passivo — desligar por default, opt-in por sessão
- PWA install-prompt no iOS Safari é diferente do Chrome — manifest não basta
<input type=search>tem comportamentos mobile imprevisíveis — substituir por<input>simples com lógica custom
# Próximos passos
O código está arquivado em stacks/web/images/lugares-api/tools/londres-template/. Futuras viagens (Paris? Vila Real?) vão adaptar o template em vez de começar do zero. O API fica, muda-se o front e os dados.
# Documentação preservada
Durante o desenvolvimento houve uma ronda de iteração com três AI agents (council) a propor melhorias mobile. Os relatórios estão em images/lugares-api/tools/londres-template/docs/councils-2026-04-06/.