feat: Feature 1.1 — Odds API integration complete, 28 tests passing
This commit is contained in:
+20
-5
@@ -1,21 +1,36 @@
|
||||
# BetonBLK — Build State
|
||||
|
||||
## Last Updated
|
||||
[Not yet started]
|
||||
2026-03-21
|
||||
|
||||
## Current Phase
|
||||
Phase 1 — Foundation
|
||||
|
||||
## What Has Shipped
|
||||
Nothing yet. Project initialized.
|
||||
|
||||
### Feature 1.1 — Odds API Integration (COMPLETE)
|
||||
- GET /api/odds/nba — live NBA player props from DraftKings, FanDuel, BetMGM
|
||||
- GET /api/odds/ncaab — NCAAB props (with off-season detection)
|
||||
- Normalizer: pairs Over/Under outcomes, maps 8 market types, filters to 3 books
|
||||
- Redis cache: 15-min TTL, stale fallback on API failure
|
||||
- Quota tracking via response headers, 429 when exhausted
|
||||
- Query filters: stat_type, player (partial match), book
|
||||
- 28 tests passing (18 unit, 10 integration)
|
||||
- Known limitation: player-to-team assignment deferred to Feature 1.2 (uses home_team/away_team instead of team/opponent)
|
||||
|
||||
## What's Next
|
||||
Feature 1.1 — Odds API Integration (no dependencies)
|
||||
Feature 1.2 — NBA_API Stats Wrapper (no dependencies, can build parallel)
|
||||
Feature 1.2 — NBA_API Stats Wrapper (no dependencies, can build now)
|
||||
Feature 1.4 — Database Schema (no dependencies, can build parallel)
|
||||
|
||||
## Active Blockers
|
||||
See BLOCKERS.md
|
||||
|
||||
## Session Log
|
||||
[No sessions yet]
|
||||
|
||||
### Session 1 — 2026-03-21
|
||||
- Made live Odds API test call, documented raw response format in DECISIONS.md
|
||||
- Built: oddsNormalizer.js, oddsService.js, routes/odds.js, teamMap.js, redis.js, app.js
|
||||
- Wrote 28 tests (unit + integration), all passing
|
||||
- Logged DECISION-001 (API response format) and DECISION-002 (credit conservation)
|
||||
- Spec updated: home_team/away_team replaces team/opponent (API limitation)
|
||||
- Credits used: 2 of 500 (498 remaining)
|
||||
|
||||
Reference in New Issue
Block a user