Skip to content

Brycewetzel/MapperXYO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗺️ MapperXYO

Decentralized GPS mapping powered by the XYO Network — a community-driven, trustless alternative to centralized map platforms.

License: MIT XYO Network TypeScript Expo


🌐 What is MapperXYO?

MapperXYO is an open-source, decentralized mapping platform that leverages the XYO Network for trustless, community-verified location data. Instead of relying on a centralized server to store and validate GPS data, MapperXYO uses XYO's proof-of-location protocol to verify real-world location events on-chain.

Think Google Maps — but decentralized, community-owned, and privacy-respecting.


✨ Features

  • 📍 Decentralized Location Verification — GPS data anchored via XYO Sentinels & Archivists
  • 🗺️ Interactive Map Interface — Full-featured map with custom layers and pins
  • 📱 Cross-Platform — iOS, Android, and Web from a single codebase
  • 🔗 XYO Chain Integration — Location heuristics stored on-chain
  • 👥 Community Contributions — Users earn XYO tokens for contributing verified location data
  • 🔒 Privacy First — No personal data stored; cryptographic proofs only
  • 🌍 Offline Support — Cached tile maps for offline use

🏗️ Architecture

MapperXYO (Turborepo Monorepo)
│
├── apps/
│   ├── web/              # Next.js 14 — dashboard, explore, embed
│   └── mobile/           # Expo (React Native) — iOS & Android
│
├── packages/
│   ├── xyo-client/       # XYO SDK wrapper & hooks
│   ├── maps/             # Shared map logic (Mapbox/Leaflet)
│   ├── ui/               # Shared component library
│   └── config/           # Shared TS, ESLint, Tailwind configs
│
└── contracts/            # Smart contracts (future)

XYO Network Role

XYO Component Role in MapperXYO
Sentinel Mobile device that witnesses location events
Bridge Relays signed location packets to Archivists
Archivist Stores signed location heuristics
Diviner Answers location queries from the chain

🚀 Getting Started

Prerequisites

Installation

# Clone the repository
git clone https://github.com/Brycewetzel/MapperXYO.git
cd MapperXYO

# Install dependencies
pnpm install

# Copy environment variables
cp .env.example .env.local

Environment Variables

Create a .env.local file in the root:

# XYO Network
XYO_API_KEY=your_xyo_api_key
XYO_ARCHIVIST_URL=https://beta.api.archivist.xyo.network
XYO_NODE_URL=https://xyo.network/node

# Mapbox
MAPBOX_ACCESS_TOKEN=your_mapbox_token

# App Config
NEXT_PUBLIC_APP_URL=http://localhost:3000

Run the Apps

# Run web app (Next.js)
pnpm --filter web dev

# Run mobile app (Expo)
pnpm --filter mobile start

# Run both simultaneously
pnpm dev

📦 Tech Stack

Layer Technology
Language TypeScript
Web Framework Next.js 14 (App Router)
Mobile Framework Expo SDK + React Native
Monorepo Turborepo + pnpm workspaces
Mapping Mapbox GL JS / React Native Maps
XYO Integration @xyo-network/sdk-xyo-client-js
Styling Tailwind CSS + NativeWind
State Management Zustand + React Query
Testing Vitest + Detox (E2E)

🗺️ Roadmap

  • v0.1 — Repo scaffold, monorepo setup, CI/CD
  • v0.2 — Basic map display (web + mobile)
  • v0.3 — XYO Sentinel integration (mobile GPS witness)
  • v0.4 — Location pin submission to XYO Archivist
  • v0.5 — Diviner queries (read location history from chain)
  • v0.6 — Token rewards for verified contributions
  • v1.0 — Public beta launch

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md before opening a PR.

# Fork the repo, then:
git checkout -b feature/your-feature-name
git commit -m "feat: add your feature"
git push origin feature/your-feature-name
# Open a Pull Request

📄 License

MIT © Brycewetzel — See LICENSE for details.


🔗 Resources

About

Decentralized GPS mapping powered by the XYO Network

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors