Skip to content

variablefate/ridestr

Repository files navigation

Ridestr Documentation

Ridestr is a decentralized rideshare platform built on Nostr with Cashu payments.


Features

Feature Status
Ride Matching ✅ Direct offers, broadcast requests, geohash filtering
RoadFlare Network ✅ Personal driver network with encrypted location sharing
Cashu Wallet ✅ Deposits, withdrawals, cross-device sync (NIP-60)
HTLC Escrow ✅ Trustless ride payments with automatic settlement
Profile Sync ✅ Vehicles, saved locations, settings backed up to Nostr
Offline Routing ✅ Valhalla-based turn-by-turn directions
Accessibility ✅ TalkBack support with semantic roles and labels

Documentation Index

For Users

  • Getting Started - Install from Zapstore or build from source
  • RoadFlare Guide - Build your personal driver network

Protocol

Architecture

Developer Guides

Code Reference


Project Structure

ridestr/
├── rider-app/              # Rider Android app (Ridestr)
│   ├── viewmodels/         # RiderViewModel - ride state machine
│   ├── ui/screens/         # RiderModeScreen, RoadflareTab, HistoryScreen
│   └── service/            # RiderActiveService (foreground)
│
├── drivestr/               # Driver Android app (Drivestr)
│   ├── viewmodels/         # DriverViewModel - driver state machine
│   ├── ui/screens/         # DriverModeScreen, RoadflareTab, EarningsScreen
│   └── service/            # DriverOnlineService, RoadflareListenerService
│
├── common/                 # Shared code (~65% of codebase)
│   ├── nostr/              # Nostr protocol
│   │   ├── events/         # 20+ event types (rides, RoadFlare, backup)
│   │   ├── relay/          # WebSocket connection management
│   │   └── keys/           # Secure key storage
│   ├── payment/            # Cashu wallet
│   │   └── cashu/          # Mint operations, NIP-60 sync
│   ├── roadflare/          # Personal driver network
│   ├── routing/            # Valhalla offline routing
│   ├── sync/               # Profile sync adapters
│   ├── state/              # Ride state machine
│   ├── data/               # Repositories
│   ├── settings/           # User preferences, remote config
│   ├── notification/       # Alerts and sounds
│   ├── location/           # Geocoding
│   ├── bitcoin/            # Price service
│   └── ui/                 # Shared screens and components
│
└── docs/                   # Documentation

Building

./gradlew :rider-app:assembleDebug    # Build rider app
./gradlew :drivestr:assembleDebug     # Build driver app

Links

About

nostr rideshare

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages