Files
motovaultpro/backend/src/features/vehicles/external
Eric Gullickson f590421058 chore: remove NHTSA code and update documentation (refs #227)
Delete vehicles/external/nhtsa/ directory (3 files), remove VPICVariable
and VPICResponse from platform models. Update all documentation to
reflect Gemini VIN decode via OCR service architecture.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 21:51:38 -06:00
..

External Service Integrations

Overview

External integrations for the vehicles feature, following a consistent client/types/cache pattern.

Integration Pattern

Each integration follows this structure:

  1. Client class ({service}.client.ts) - axios-based HTTP client with timeout, error handling, caching, and input validation
  2. Types file ({service}.types.ts) - Raw API response types, mapped internal types (camelCase), error types
  3. Cache strategy - Each integration defines cache location, TTL, and invalidation rules

Adding New Integrations

  1. Create subdirectory: external/{service}/
  2. Add client: {service}.client.ts following the axios-based client pattern
  3. Add types: {service}.types.ts
  4. Update CLAUDE.md with new directory
  5. Add tests in tests/unit/{service}.client.test.ts

See Also

  • ../../../stations/external/google-maps/ - Sister pattern for Google Maps integration