Break down #1 into phased implementation (5 phases) #5
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
test-coverage
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/freshfind-marketmap#5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Break down freshfind-marketmap#1 (No backend/API layer) into independently implementable phases.
Decomposition
All price data and alert subscriptions are currently hardcoded mockups. The alerts form (AlertsSection.tsx) simulates submission with setTimeout but does not actually send data anywhere.
Phase 1 — API Service Interface & Data Types
src/services/types.ts— Define API types (MarketPrice, Alert, AlertSubscription, MarketRegion, MapViewState, ApiResponse)src/services/api.ts— DefineMarketMapApiServiceinterface:src/services/mockApi.ts— ImplementMockMarketMapApiServicereturning existing hardcoded data (no functional change yet)Phase 2 — Abstraction Layer
AlertsSection.tsxand price display components to useMarketMapApiServicevia contextMockMarketMapApiServiceby default — behavior identical to current appPhase 3 — HTTP API Adapter
src/services/httpApi.ts— ImplementHttpMarketMapApiServiceVITE_MARKET_API_URLenv varVITE_USE_MOCK_APIenv varPhase 4 — Lightweight Backend
server/directoryPhase 5 — Cutover
HttpMarketMapApiServicewith dev serverDependency Graph
Phase 1 -> Phase 2 -> Phase 3 -> Phase 4 -> Phase 5
Effort
Fixed in commit. Closing.