Commit Graph

10 Commits

Author SHA1 Message Date
2cf9e20608 fix: address code review findings 2026-08-18 13:30:11 +03:00
8aecaf1468 fix: address code review findings 2026-08-17 23:40:52 +03:00
6dcec6a7a5 fix: address code review findings
- Fix type mismatch in search_cache.go: SearchWithCache now returns *yandex.Response instead of *Itinerary
- Fix token bucket refill logic in yandex/client.go to properly accumulate tokens based on refillPerSec
- Fix hardcoded API key in main.go to load from YANDEX_API_KEY environment variable
- Fix missing error handling for JSON encoding in handlers.go RouteGeoJSON function
- Fix incorrect redis.Nil handling in cache/store.go CacheAside.Exists method
- Fix incorrect error return type in station_status.go updateStationStatus to return newStatus instead of empty string
2026-08-17 22:42:08 +03:00
78f662c985 fix: address code review findings 2026-08-17 22:14:48 +03:00
777fda95a3 fix: address code review findings 2026-08-17 21:50:37 +03:00
c58fbb50b1 feat: implement observability and metrics (Task 22)
- Add metrics package tracking cache hit-rate, API quota, circuit breaker trips, search time
- Integrate metrics with cache layer, yandex client, and API handlers
- Add /metrics HTTP endpoint for Prometheus-compatible metrics exposure
- Write tests for metrics functionality across cache, yandex, and API handlers
- Update test files to support new metrics infrastructure
2026-08-17 15:27:44 +03:00
286cb8653a feat: Add ResetCircuitBreaker helper 2026-08-16 03:41:26 +03:00
88d27421ce feat: implement MVP routing endpoints and cron station status detection
This commit implements the core routing functionality for the trip planner MVP:

1. API handlers for city autocomplete, station listing, route search, and route GeoJSON
2. Router integration with Yandex Schedules API for building routing graphs
3. Pareto-optimal route search with max 1 transfer and MCT filtering
4. Cron job for station status detection and closure monitoring
5. Circuit breaker and rate limiter integration in Yandex client
6. Redis cache-aside layer for city directories and station lists

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-14 13:06:29 +03:00
e063d26d4c fix: code correctness, security, and simplicity improvements 2026-08-13 21:23:15 +03:00
6a5c586187 feat: implement Yandex API client with rate limiter and circuit breaker 2026-08-13 19:35:59 +03:00