Arne Baeumler 298e11c10b
Some checks failed
Build and Publish Docker Image / build-and-push (push) Failing after 4s
docs: note fullscreen download action
2026-06-14 11:19:59 +02:00
fix
2026-06-11 20:43:02 +02:00
2026-06-14 11:19:46 +02:00
2026-06-07 20:39:21 +02:00
2026-06-07 12:17:41 +02:00
2026-06-13 09:11:05 +02:00
2026-06-07 20:39:21 +02:00
2026-06-13 09:08:04 +02:00

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%