Developer Overview
Technical documentation for ZapTracker developers.
Learn how ZapTracker is built and how to contribute to the project.
Technology Stack
Frontend Framework
Vue.js 3.4Composition API
Vite 5Build tool
Tailwind CSS 3Styling
Nostr & Bitcoin
nostr-tools Nostr protocol implementation
@getalby/bitcoin-connect Wallet connection
@getalby/sdk Alby integration
UI & Visualization
ECharts Charts and visualizations
Lucide Vue Icons
FullCalendar Calendar component
PWA
vite-plugin-pwa Progressive Web App support
Architecture Overview
ZapTracker is a client-side Vue 3 application that connects directly to Nostr relays and Lightning wallets.
┌─────────────────────────────────────────────────┐
│ Browser │
│ ┌─────────────────────────────────────────┐ │
│ │ ZapTracker App │ │
│ │ ┌─────────┐ ┌────────┐ ┌─────────┐ │ │
│ │ │ Pages │ │Compos- │ │ Utils │ │ │
│ │ │ │ │ables │ │ │ │ │
│ │ └────┬────┘ └───┬────┘ └────┬────┘ │ │
│ │ │ │ │ │ │
│ │ └───────────┼────────────┘ │ │
│ │ │ │ │
│ │ ┌───────┴───────┐ │ │
│ │ │ Local Storage │ │ │
│ │ └───────────────┘ │ │
│ └─────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────┼───────────────────┐ │
│ │ NIP-07 │ NWC │ │
│ │ Extension │ Protocol │ │
│ └───────────────────┼───────────────────┘ │
└──────────────────────┼──────────────────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Nostr │ │ Nostr │ │Lightning│
│ Relay │ │ Relay │ │ Wallet │
└─────────┘ └─────────┘ └─────────┘Key Concepts
No Backend
ZapTracker has no server component:
- All data in browser localStorage
- Direct connection to Nostr relays
- NWC for wallet communication
Privacy First
User data never leaves the browser:
- Profile data from Nostr
- Preferences in localStorage
- No analytics or tracking
Real-Time Updates
Live data through:
- WebSocket connections to relays
- NWC event subscriptions
- Reactive Vue state
Documentation Sections
Codebase StructureFiles and folders organization
ComponentsVue component reference
ComposablesComposition functions
NIP-07Browser extension integration
Nostr Wallet ConnectLightning wallet protocol