Place Search & Mapping for Africa
Self-improving geospatial platform built on OpenStreetMap. Ships with 54,000+ Cameroon places. Contributors validate, correct, and rank β data gets better with every delivery.
54,000+
Cameroon Places
51
Cities
<50ms
Search Latency
5
Microservices
360Β°
Nearby View
β‘ Quick Start
git clone https://github.com/vimex/geosplaf
cp .env.example .env
docker compose up -d
curl http://localhost:8088/health
# β {"status":"ok","service":"geosplaf-api"}
curl -H "X-API-Key: your-key" \
"http://localhost:8088/api/search/autocomplete?q=yaounde&lat=3.848&lon=11.502"
ποΈ Architecture
βββββββββββ
β Nginx β :8088 (gateway)
ββββββ¬βββββ
ββββββββββββββββΌβββββββββββββββ
β β β
ββββββΌβββββ βββββββΌββββββ βββββββΌββββββ
β API β β Docs β β Worker β
β :8000 β β :8001 β β (Asynq) β
ββββββ¬βββββ βββββββββββββ βββββββ¬ββββββ
β β
ββββββΌβββββ ββββββΌβββββ
βPostGIS β β Redis β
β :5432 β β :6379 β
βββββββββββ βββββββββββ
π Key Endpoints
GET/api/search/autocomplete?q=...
Search-as-you-type across 54,000+ Cameroon places. Fuzzy matching via pg_trgm. Location-biased results.
POST/api/contributor/points
Submit a new place with GPS coordinates. Automatic duplicate detection within 500m.
POST/api/contributor/validate
The self-improving loop. Confirm, correct, or reject points from your location.
GET/api/places/{id}
Full place detail with dynamic parent hierarchy and 360Β° nearby view.
GET/api/geocode/reverse?lat=...&lon=...
GPS coordinates to nearest place. Contributor data checked first, OSM as fallback.