Digital addressing and search platform for Libya.
Author: Al-Musbahi
Microservices platform built with Rust:
registry/
- Address storage and managementsearch/
- Full-text search with Arabic supportsync-gateway/
- Offline sync and data resilienceplates/
- QR/NFC address platesevents/
- Temporary addresses & privacy managementcrowd/
- Community validation
Phase 1.2 Complete: Registry service with PostgreSQL/PostGIS
Phase 1.3 Complete: Search service with Arabic text processing
Phase 1.4 Complete: Smart address plates with QR/NFC integration
Phase 1.5 Complete: Sync gateway with offline-first capabilities
Phase 1.8 Complete: Events service with temporary addresses & privacy management
just dev-up # Start PostgreSQL
just db-migrate # Run migrations
just run-registry # Start registry API (port 8081)
just run-search # Start search API (port 8080)
just run-plates # Start plates API (port 8084)
just run-events # Start events API (port 8085)
just run-sync # Start sync gateway (port 8082)
REST API for address CRUD operations with spatial indexing.
Tantivy-based search with Arabic dialect support and geographic filtering.
CRDT-based offline synchronization with bidirectional conflict resolution.
QR code and NFC-enabled physical plates with Ed25519 cryptographic security.
Temporary event addresses with privacy controls, sharing mechanisms, and community integration.
# Create address
curl -X POST http://localhost:8081/v1/addresses \
-H "Content-Type: application/json" \
-d '{
"code": "TRIPOLI001",
"latitude": 32.8872,
"longitude": 13.1913,
"street": "Omar Al-Mukhtar Street",
"landmark": "Martyrs Square"
}'
# Search addresses
curl "http://localhost:8081/v1/addresses?limit=10"
curl "http://localhost:8081/v1/addresses?postal_code=10001"
# Search service (Arabic support)
curl "http://localhost:8080/v1/search?q=شارع عمر المختار&lat=32.8872&lon=13.1913"
just check # Format, lint, test
just build # Build all services
just test # Run tests
Built for Libya 🇱🇾