Infrastructure medium complexity backend
0
Dependencies
0
Dependents
1
Entities
0
Integrations

Description

Backend infrastructure component that proxies geocoding requests to an external geocoding API (e.g., Google Maps Geocoding or Nominatim) server-side, ensuring API keys are never exposed to the mobile client. Caches geocoding results in the database to minimize API call volume and costs.

Feature: Geographic Map View for Peer Mentor Matching

geocoding-api-infrastructure

Responsibilities

  • Proxy address-to-coordinate geocoding requests to external API
  • Cache geocoding results against address strings to avoid redundant calls
  • Handle rate limiting, retries, and error responses from the geocoding provider
  • Expose REST endpoint consumed by the mobile LocationService

Interfaces

geocode(address: string) -> Promise<{ lat: number; lng: number } | null>
reverseGeocode(lat: number, lng: number) -> Promise<string | null>
batchGeocode(addresses: string[]) -> Promise<GeocodingResult[]>
getCachedResult(address: string) -> GeocodingResult | null

Related Data Entities (1)

Data entities managed by this component