mapix

mapix screenshot

A browser-based photo mapping prototype that reads EXIF/GPS data and shows images on OpenStreetMap.

Features

  • Nextcloud public share import through a local proxy
  • Client-side EXIF and GPS extraction where possible
  • Map markers with thumbnail previews
  • Thumbnail-backed photo list with lazy full-size image loading
  • Fullscreen photo viewer with loading state
  • Zoomable timeline with selectable ranges
  • Route line toggle on the map
  • Dark and light mode that follows the client OS preference and can be toggled manually
  • Local browser dependency bundle for Leaflet and EXIF parsing
  • Local brand assets and favicon

Recent Changes

  • Image handling now keeps thumbnails in the browser for markers and the photo list, while full-size images are loaded only on demand.
  • The photo viewer now shows a loading indicator before the full image is ready.
  • The sidebar header now includes the brand logo, and the logo switches with the active theme.
  • The top-right controls include a route visibility toggle and a theme toggle with compact icon-only buttons.
  • Browser dependencies and static assets are served locally to avoid CDN-related failures.
  • The timeline keeps its selected range visible again during drag selection.
  • The photo list now uses compact thumbnail tiles and stable wrapping for large result sets.

Start

npm install
npm run build
npm start

Notes

  • Photos are not stored on the server.
  • The UI and processing run in the browser where possible.
  • Browser dependencies are installed through npm and copied into dist/vendor during npm run build; the runtime serves them locally instead of loading third-party CDNs.
  • Static brand assets are copied from src/assets into dist/assets during the build.
  • Future auth can be forwarded by a reverse proxy via HTTP headers.
Description
No description provided
Readme 2.7 MiB
Languages
TypeScript 99.6%
Dockerfile 0.4%