Warning: This project is in early development. APIs and data models may change without notice.
mapky-app-specs
Rust/WASM type library defining all MapKy data models. Extends pubky-app-specs traits (Validatable, TimestampId, HashId, HasIdPath).
MapKy is a decentralized social layer on OpenStreetMap using Pubky.
Models
| Model | Path | Anchored to | Description |
|---|---|---|---|
MapkyAppPost |
/pub/mapky.app/posts/<id> |
OSM URL | Reviews, questions, comments about places |
MapkyAppCollection |
/pub/mapky.app/collections/<id> |
Vec<OSM URL> |
Named lists of places |
MapkyAppIncident |
/pub/mapky.app/incidents/<id> |
lat/lon | Waze-style crowdsourced hazard report |
MapkyAppGeoCapture |
/pub/mapky.app/geo_captures/<id> |
lat/lon | Street-level media (photos, panoramas, video, 3D, point cloud, audio) |
MapkyAppSequence |
/pub/mapky.app/sequences/<id> |
ordered geo-capture list | Continuous trajectory of captures (e.g. driving panorama runs) |
MapkyAppRoute |
/pub/mapky.app/routes/<id> |
Vec<Waypoint> + encoded polyline |
User-created hiking / cycling / driving / running / walking route |
Places are identified by their canonical OpenStreetMap URL (e.g. https://www.openstreetmap.org/node/123). Tags on places, posts, routes, etc. use standard PubkyAppTag (universal tags) stored at /pub/mapky.app/tags/ — the mapky-nexus-plugin resolves these cross-domain so any MapKy resource is taggable.
Routes
MapkyAppRoute carries the full trip: name, description, activity (Walking | Running | Hiking | Cycling | Driving | Skiing | Other), waypoints (with optional OSM anchors), an encoded polyline of the snapped path, distance / duration / elevation aggregates, and an optional cover image URI. The blob lives on the author's homeserver; the indexer mirrors a metadata + bbox subset into Neo4j for spatial discovery, and the frontend fetches the full body directly when rendering a route detail.
Build
# Run tests
# Build WASM package