
Overview
Developed a powerful and easy-to-use NestJS library for integrating with the Nominatim API (OpenStreetMap geocoding service). This library provides a clean, type-safe interface for performing geocoding, reverse geocoding, and place lookups. It features configurable in-memory and Redis caching for improved performance, multi-language support, health checks, and a native NestJS module with dependency injection.
Key Features
- Forward Geocoding: Search for places by name or address
- Reverse Geocoding: Get address information from coordinates
- Place Lookup: Retrieve detailed information by OSM ID
- Built-in configurable caching for improved performance (in-memory or Redis)
- Native NestJS module with dependency injection
- Multi-language address formatting
- Type-safe with comprehensive interfaces
- Built-in API health monitoring
Technical Challenges
- Designing a robust built-in caching system across in-memory and Redis stores
- Structuring comprehensive interfaces and TypeScript types for various Nominatim API responses
- Providing a flexible and safe configuration factory for NestJS injection
Aug 2024
Technologies Used
NestJSTypeScriptNominatim APIOpenStreetMapREST APICaching